Python フォーマッター(Ruff)
WebAssembly にコンパイルされた Ruff の Black 互換フォーマッターで Python コードを整形。インデントと引用符のスタイルを選べ、構文エラーは行と列付きで表示されます。
すべてブラウザ内で実行されま す。データがアップロードされることはありません。
関連ツール
すべて表示Python フォーマッターとは?
Python フォーマッターは、高速で Black 互換の Python フォーマッターである Ruff のフォーマッターを、WebAssembly を介してブラウザ内で直接実行します。インデント、スペース、引用符、空行、88 文字での折り返しを正規化します。
Python フォーマッターの使い方
- Python コードを入力欄に貼り付けるか、サンプルを読み込む をクリックします。
- インデント と 引用符のスタイル を選びます。
- 整形 をクリックします。初回は Ruff エンジン(WebAssembly、数 MB)がダウンロードされ、2 回目以降はすぐに実行されます。
- 整形されたコードをコピーまたはダウンロードします。
例
def f(a,b):
return {'x':a}
def f(a, b):
return {"x": a} Python フォーマッターを使うべき場面
スクリプトやスニペットの整理、回答や教材用のコードの整形、コードが解析できるかの確認に使います。整形だけを行い、未使用のインポートの削除やインポートの並べ替えなどの lint の修正は適用しません。プロジェクトでは、ruff format や Black を、自分の設定でローカルに実行してください。
Python フォーマッターの仕組み
Ruff の公式の @astral-sh/ruff-wasm-web ビルドが必要に応じて読み込まれます。line-length = 88、選択した indent-width / indent-style と quote-style を指定して Ruff のワークスペースが作成され、その format 関数が呼び出されます。Ruff はコードを構文木に解析し、Black スタイルで出力します(たとえば、トップレベルの定義の間に 2 つの空行、マジックトレーリングカンマなど)。コードが解析できない場合は、Ruff のエラーが行と列付きで表示されます。
一般的な使用例
- 共有する前に Jupyter やスクリプトのコードを整形する
- チュートリアルのコードを PEP 8 に沿ったものにする
- 何もインストールせずに Python の構文を確認する
- インデントをスペース 2 つから 4 つに変換する
セキュリティ注意事項
すべてブラウザ内でローカルに処理され、貼り付けたコードがアップロードされることはありません。
よくある質問
出力は Black と同じですか?
Ruff のフォーマッターは Black 互換になるよう設計されており、違いはまれです。
初回が遅いのはなぜですか?
Ruff の WebAssembly モジュール(数 MB)が一度ダウンロードされ、ブラウザがそれをキャッシュするためです。
インポートの並べ替えや未使用のものの削除はしますか?
いいえ、整形だけです。それらは lint の修正(Ruff の I と F401 のルール)です。
コードは実行されますか?
いいえ、解析されて出力されるだけです。