Python フォーマッター(Ruff)

WebAssembly にコンパイルされた Ruff の Black 互換フォーマッターで Python コードを整形。インデントと引用符のスタイルを選べ、構文エラーは行と列付きで表示されます。

初回実行時に Ruff フォーマッター(WebAssembly、数 MB)をダウンロードします。
出力

すべてブラウザ内で実行されます。データがアップロードされることはありません。

関連ツール

すべて表示

Python フォーマッターとは?

Python フォーマッターは、高速で Black 互換の Python フォーマッターである Ruff のフォーマッターを、WebAssembly を介してブラウザ内で直接実行します。インデント、スペース、引用符、空行、88 文字での折り返しを正規化します。

Python フォーマッターの使い方

  1. Python コードを入力欄に貼り付けるか、サンプルを読み込む をクリックします。
  2. インデント と 引用符のスタイル を選びます。
  3. 整形 をクリックします。初回は Ruff エンジン(WebAssembly、数 MB)がダウンロードされ、2 回目以降はすぐに実行されます。
  4. 整形されたコードをコピーまたはダウンロードします。

例

入力
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 のルール)です。

コードは実行されますか?

いいえ、解析されて出力されるだけです。

他のカテゴリを見る