PyCharm 2026.1 Help

docstring のレガシー型構文

PyCharm は docstring を使用した Python の型指定のレガシーアプローチをサポートしています。 その際、サポートされているフォーマットは次のとおりです。

必要な docstring 形式を選択するには、設定ダイアログの Python 統合ツールページを使用します。

Python の docstrings の型構文は、どの標準でも定義されていません。 そのため、PyCharm は次の表記法を提案します:

構文

説明

Foo

現在のスコープで表示されるクラス Foo

x.y.Bar

x.y モジュールのクラス Bar

Foo | Bar

Foo または Bar

(Foo, Bar)

Foo と Bar のタプル

list[Foo]

Foo 要素のリスト

dict[Foo, Bar]

Foo から Bar への Dict

T

汎用型 (T-Z は一般用に予約されています)

T <= Foo

上限を持つ汎用型 Foo

Foo[T]

Foo は T でパラメーター化される

(Foo, Bar) -> Baz

Baz を返す Foo と Bar の関数

list[dict[str, datetime]]

str から datetime への dicts のリスト (ネストされた引数)

ローカル変数の型の指定

:type または @type docstring を使用して、期待されるローカル変数の型に関する情報を追加することを検討してください。

ローカル変数の型ヒント

isinstance を使用して、予想されるローカル変数型を定義することもできます。

ローカル変数の型ヒント

フィールドの型の指定

型ヒントを使用して、予想されるフィールド型を指定することができます。

フィールドの型ヒント

また、クラスのドキュメント文字列内のフィールドの型を指定することもできます。

クラス属性の型ヒント

戻り値の型の指定

docstrings :rtype または @rtype を使用して、期待される戻り値の型を指定します。

py_type_hinting_return2
  • :rtype: collections.Iterable[int] # return type :「items」は generator または collections.Iterable 型、「a」は int 型です。次のコードを参照してください:

    def my_iter(): global i for i in range(10): yield i items = my_iter() for a in items: print a
  • :rtype: list[int] for my_iter # 戻り値の型:「a」は int 型です。次のコードを参照してください:

    def my_iter(): for i in range(10): yield i for a in my_iter(): print a

パラメーター型の指定

想定されるパラメーターの型に関する情報を追加することを検討してください。 この情報は docstring を使用して指定します。 選択した docstring の形式に応じて、異なる docstring を使用できます(例: :type@typeArgs)。 プロジェクト設定を使用して、docstring の形式(設定 | Python | ツール | 統合ツール )を変更してください。

docstring を使用してパラメーター type(: type)を定義する
docstring を使用してパラメーター型(Args)を定義する
2026 年 6 月 1 日