言語別ガイド

Pythonの記述とデバッグを3倍速くする、使うのは Claude Code

Django、FastAPI、pandas、pytest。すべてターミナルから

Claude Codeは最初からPythonに対応しています。プロジェクト構造を読み、仮想環境を理解し、ターミナルからPythonコードを書いて、テストし、デバッグできます。FastAPIでAPIを構築する場合も、pandasでデータを分析する場合も、Djangoアプリケーションを書く場合も、Claude CodeはPythonのエコシステムを理解し、プロジェクトの規約に沿った、適切に型付けされたイディオマティックなコードを書きます。

Claude CodeはPythonプロジェクトにネイティブに対応しています。Pythonのコードベースを指定すると、依存関係、テストフレームワーク、コーディングパターンを理解します。pytestテストの記述、トレースバックの全文脈を踏まえた例外のデバッグ、モジュールのリファクタリング、プロジェクト全体への型ヒントの追加などで特に力を発揮します。

クイックスタート

Pythonプロジェクトを始める

プロジェクトに移動してClaude Codeを起動する

ターミナルを開き、cdでPythonプロジェクトのディレクトリに移動し、claudeを実行します。これだけです。Claude Codeはpyproject.toml、setup.py、requirements.txt、Pipfileのいずれかを読んで、Pythonプロジェクトを自動的に検出します。最初のコマンドから、プロジェクトのレイアウト、依存関係、パッケージ構造を理解します。

Python向けにCLAUDE.mdを設定する

プロジェクトのルートにCLAUDE.mdファイルを作成し、Python特有のコマンドを記載します。テストランナー(pytest、python -m pytest)、リンター(ruff check、flake8)、フォーマッター(ruff format、black)、型チェッカー(mypy、pyright)。これにより、Claude Codeは変更のたびに自分の作業を検証できるようになります。

Claude Codeにプロジェクトの規約を伝える

チームがGoogleスタイルのdocstring、絶対importや、テスト用の特定のディレクトリ構造など、特定のパターンを使っている場合は、それらの規約をCLAUDE.mdに追加しましょう。Claude Codeはすべてのやり取りの前にこのファイルを読むため、最初からプロジェクトのスタイルに合ったコードを生成します。これにより、後からスタイルの選択を修正するやり取りをなくせます。

ワークフロー

よくあるPythonワークフロー

DjangoとFastAPIの開発

新しいエンドポイント、モデル、シリアライザー、マイグレーションを構築します。Claude Codeは既存のURLパターンとモデル定義を読み、プロジェクトの規約に合ったコードを生成します。Djangoのクラスベースビュー、FastAPIの依存性注入、Pydanticモデルの検証に対応しています。

pandasによるデータ分析

必要な変換を説明すると、Claude Codeはpandasのオペレーションであるgroupby、merge、pivot、ウィンドウ関数、複雑な集計を書きます。データスキーマを読み、SettingWithCopyWarningというよくある落とし穴を避けつつ、正しく連結される効率的な操作を書きます。

pytestによるテスト

Claude Codeは、ユニットテスト、パラメータ化されたテスト、フィクスチャ、モック、統合テストを含む包括的なpytestスイートを書きます。実装コードを読み、ハッピーパスだけでなくエッジケースもカバーするテストを生成します。非同期コード向けのpytest-asyncioや、Djangoプロジェクト向けのpytest-djangoにも対応しています。

型チェックとdocstring

型のないPythonコードに型ヒントを追加し、GoogleスタイルやNumPyスタイルのdocstringを生成し、mypyやpyrightのエラーを修正します。Claude CodeはPythonの型システムを深く理解しており、ジェネリクス、Protocol、TypeVar、オーバーロード、ParamSpecを使いこなし、コードベースに適した型のパターンを適用します。

Pythonの機能

Python特有の機能

型ヒントと静的解析

Claude CodeはPythonの段階的な型付けシステムを理解しています。型のないコードベースに型ヒントを追加し、mypyやpyrightのエラーを修正し、適切な場合にはTypeVar、Protocol、ParamSpec、Genericのような高度な型パターンを使うことができます。使用しているPythonのバージョンに応じて、str | NoneとOptional[str]のどちらを使うべきかもわかっています。

docstringの生成

Claude Codeは、Googleスタイル、NumPyスタイル、Sphinx形式など、プロジェクトのスタイルに合ったdocstringを生成します。関数の実装を読み、パラメータ、戻り値の型、エッジケースを理解し、汎用的なプレースホルダーのテキストではなく、実際にその関数が何をするかを説明するドキュメントを書きます。1回の処理でモジュール全体にdocstringを追加できます。

仮想環境への対応

Claude Codeは、venv、poetry、pipenv、conda、uvのいずれを使っていても、仮想環境の設定を尊重します。依存関係ファイルを読んでどのパッケージがどのバージョンで利用可能かを把握するため、インストールしていないライブラリの使用を提案したり、新しいバージョンで変更されたAPIに対してコードを書いたりすることはありません。

これで構築する

Claude CodeでPython APIを構築する

説明から動作するエンドポイントへ

必要なエンドポイントを説明します。「名前とメールアドレスを受け取り、メール形式を検証し、データベースに保存し、作成されたユーザーをステータス201で返すPOST /api/usersエンドポイントを作成する」といった具合です。すると、Claude Codeがルート、Pydanticモデル(またはDjangoシリアライザー)、データベースクエリ、エラー処理を書きます。既存のコードを読んでパターンを合わせるため、他のエンドポイントが依存性注入を使っていれば、新しいエンドポイントも同様になります。

完全なAPIスキャフォールディング

Claude Codeは、データモデルの説明から完全なCRUD APIを構築できます。モデル、ルート、検証スキーマ、データベースマイグレーション(AlembicまたはDjangoを使用)、テストファイルを生成します。生成される各ファイルはプロジェクトの構造に従い、ルートがapp/api/v1/にあり、モデルがapp/models/にある場合、Claude Codeはファイルを適切な場所に配置します。また、新しいルートを既存のアプリケーションインスタンスに接続し、適切なHTTPステータスコードとエラーレスポンスを追加します。

APIをエンドツーエンドでテストする

エンドポイントを構築したら、Claude Codeにテストを書いてもらいましょう。ハッピーパス、検証エラー、重複処理、認証失敗、エッジケースをカバーするpytestテストを生成します。FastAPIプロジェクトでは適切なテストフィクスチャとともにhttpx.AsyncClientを使用します。DjangoではファクトリーベースのテストデータとともにAPIClientを使用します。その後、コミットする前にすべてが通ることを確認するためにテストを実行します。

よくある質問

Python向けClaude Code、よくある質問

Claude CodeはJupyter Notebookに対応していますか?

Claude CodeはJupyter Notebookのファイル(.ipynb)を読み、理解し、セルの出力を分析し、ノートブックのコードのデバッグを手伝うことができます。ただし、Claude Codeはターミナルから動作するため、ノートブックのロジックをPythonのスクリプトやモジュールに抽出したときに最もよく機能します。データ探索では、多くの開発者がClaude Codeを使って分析コードを.pyファイルに書き、それをノートブックにインポートして可視化します。

Claude Codeはどのようなpythonフレームワークに対応していますか?

Claude Codeは、Webフレームワークの Django、FastAPI、Flask、Starlette、Tornado、データサイエンスのpandas、NumPy、polars、scikit-learn、テストのpytest、unittest、hypothesis、データベースアクセスのSQLAlchemy、Tortoise ORM、Django ORM、タスクキューのCeleryとDramatiqなど、主要なPythonフレームワークのすべてに対応しています。プロジェクトの依存関係を読み、どのフレームワークを使っているかを理解し、フレームワークごとのパターンを適用します。

Claude Codeは仮想環境をどのように扱いますか?

Claude Codeは仮想環境の設定を自動的に検出します。pyproject.toml、requirements.txt、Pipfile、poetry.lockを読み、プロジェクトの依存関係を理解します。テストやスクリプトを実行する際は、プロジェクトの設定を尊重します。仮想環境を有効化するコマンドとテストランナーをCLAUDE.mdファイルに追加すれば、Claude Codeはすべての操作で正しい環境を使用します。

Claude Codeをデータサイエンスの作業に使えますか?

使えます。Claude Codeはデータ変換パイプライン、pandasの操作、SQLクエリ、統計分析コードの記述で力を発揮します。CSVファイルを読み、データスキーマを理解し、クリーニングと変換のロジックを書き、matplotlibやplotlyで可視化を生成できます。複雑なデータパイプラインでは、巨大な1つのノートブックセルではなく、読みやすくテスト可能な関数に多段階の変換を分解する手助けをします。

Claude CodeでPythonのテストを行う最良の方法は何ですか?

期待する動作を説明して、関数のpytestテストをClaude Codeに書いてもらいましょう。既存のテストパターン、フィクスチャ、conftest.pyを読み、あなたのスタイルに合ったテストを生成します。TDDのワークフローを使ってみてください。まず動作を説明し、Claude Codeにテストを書かせ、それが通るようにコードを実装します。

Claude CodeでPythonプロジェクトをリファクタリングできますか?

できます。Claude Codeは関数の抽出、複数ファイルにわたる変数名の変更、クラスからdataclassへの変換、型ヒントの追加、モジュールのレイアウトの再構築、レガシーコードの現代化を行えます。変更を加える前にプロジェクト全体を読んで依存関係を理解し、リファクタリング後にテストスイートを実行して何も壊れていないことを確認します。

Python開発を習得する、使うのは Claude Code

あなたの最初のPythonプロジェクト。無料の最初のレッスン。

Nightschool AIは独立した学習プラットフォームであり、Anthropicとは提携・承認・後援関係にありません。ClaudeはAnthropic, PBCの商標です。 Anthropic公式のClaude Academyをお探しですか?academy.claude.comをご覧ください。