PyCharm 2024.1 ヘルプ

パターンマッチング

PyCharm は、PEP-634(英語)PEP-635(英語)PEP-636(英語) で導入され、Python 3.10 以降で使用可能なパターンマッチングのサポートを提供します。

パターンマッチングは、関連するアクションを伴うパターンの match ステートメントおよび case ステートメントの形式で追加されました。

match subject: case <pattern_1>: <action_1> case <pattern_2>: <action_2> case <pattern_3>: <action_3> case _: <action_wildcard>

パターンは、シーケンス、マッピング、プリミティブデータ型、およびクラスインスタンスで構成されます。パターンマッチングにより、複雑なデータ型、データ構造に関するブランチから情報を抽出し、さまざまな形式のデータに基づいて特定のアクションを適用できます。例と使用例の詳細については、docs.python.org の機能の概要(英語)および PEP-636 (チュートリアル)(英語) を参照してください。

PyCharm は、パターンマッチングのために次のコーディング支援を提供します。

構文のハイライト

PyCharm は、一致する構文の解析とハイライトをサポートします。

Pattern matching: literals

デフォルトのコードスタイルを変更するには、Ctrl+Alt+S を押して設定を開き、エディター | コードスタイル | Python を選択します。詳細については、コードスタイルの構成を参照してください。

キーワード補完

matchcase などの特定のキーワードに一致するパターンの 1 つを入力し始めると、PyCharm はすばやく編集するための補完リストを表示します。

Keyword completion

PyCharm のコード補完の詳細については、コード補完を参照してください。

コードインスペクション

PyCharm で利用可能なコードインスペクションを使用すると、パターンマッチング構造内のコードの問題のある部分を検出できます。

到達不能コード

実行中にコード要素に到達できない場合、IDE は警告を表示します。一致する構成では、この警告が表示されます。これは、普遍的に一致するパターンが 1 つしかないためです。次のすべてのパターンは到達不能と見なされます。

Unreachable code in pattern matching

再宣言された変数

パターンマッチングで使用される変数名を宣言すると、PyCharm はそれをハイライトし、警告を表示します。これは、変数名が割り当てであり、以前の値が考慮されていないために発生します。

Redeclared variable in pattern matching

コードインスペクションを構成するには、Ctrl+Alt+S を押して設定を開き、エディター | コードスタイル | Python を選択してから、編集するインスペクションを見つけて変更を適用します。詳細については、インスペクションの重大度を変更するおよびインスペクションの無効化と有効化を参照してください。

関連ページ:

コードスタイルの構成

特定のコーディングガイドラインが企業内に存在する場合は、ソースコードを作成する際に、このガイドラインに従わなければなりません。PyCharm は、必要なコードスタイルを維持できます。IDE には、プロジェクトスキームとデフォルトスキームの 2 つの定義済みスキームが付属しています。プロジェクトスキームでは、構成する設定は現在のプロジェクトにのみ適用されます。これらの設定は、.idea の codeStyles フォルダーに保存され、VCS を介してプロジェクトと共有されます。プロジェクトのコードスタイ...

コード補完

このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を完成させるのに役立ちます。コード補完を呼び出すと、PyCharm はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します (提案にはライブテンプレートも含まれます)。基本コード補完がフィールド、パラメーター、変数宣言の一部に適用されている場合、PyCharm...

コードインスペクション

PyCharm には、プロジェクト内の異常なコードを検出して修正する一連のコードインスペクションがあります。IDE は、さまざまな問題を見つけてハイライトし、デッドコードを見つけ、考えられるバグやスペルの問題を見つけ、全体的なコード構造を改善することができます。インスペクションは、すべてのプロジェクトファイルまたは特定のスコープでのみ(たとえば、本番コードまたは変更されたファイルでのみ)コードをスキャンできます。すべてのインスペクションには、問題がコードに影響を与える可能性がある程度の重大度レベ...

インスペクションの重大度を変更する

インスペクション重大度レベルは、検出されたコードの問題がプロジェクトに与える影響の深刻度を示します。PyCharm には、定義済みの一連の重大度レベルがあります。エラー構文エラー警告バグを引き起こす可能性がある、または拡張が必要なコードの断片弱い警告改善または最適化できるコードの断片 (冗長なコード、重複したコードフラグメントなど) サーバーの問題外部ビルドサーバー (TeamCity など) に起因する問題文法エラー文法の間違い。この重大度は、バンドルされている Grazie Lite プラグインに...

インスペクションの無効化と有効化

いくつかのインスペクションは現在見たくない問題を報告するかもしれません。この場合、無効にしたり抑制したりできます。インスペクションを無効にする:インスペクションを使用不可にすると、無効になります。これは、このインスペクションが検出するように設計されているという問題について、コード分析エンジンがプロジェクトファイルの検索を停止することを意味します。インスペクションを無効にすると、現在のインスペクションプロファイルで無効になります。他のプロファイルでは有効のままです。特定の種類のファイルのインスペ

PyCharm の型ヒント

PyCharm は、スクリプト内のオブジェクトのタイプのインスペクションとチェックを支援するさまざまな手段を提供します。PyCharm は、モジュールと PEP 484 で定義された形式を使用して、関数アノテーションと型コメントで型ヒントをサポートします。型ヒントを追加する:PyCharm は PEP 484 でサポートされているタイプを追加するためのすべてのメソッドをサポートしていますが、インテンションアクションによる型ヒントを使用するのが最も便利です。使用するインタープリターに応じて、型はアノテー...