型の手がかりがないと、PyCharmは候補を出してくれません。
リスト型とわかると、リストに関するメソッドなどを候補として出してくれます。
しかし、これでもリストに入っている要素の型まではわからないため、以下の場合、PyCharmは候補を出してくれません。
しかし""":type: <type>"""
を使って、型を明示する文を入れてあげると、この場合はFaceクラスのフィールドが候補として出されます。
ちなみに関数を普通に書くとPyCharmは型を適宜推論してくれますが・・・
:rtype :<type>
を使って、関数の戻り値を型指定することもできます。
返り値だけでなく引数の型を指定することもできます。
指定しないと何も候補を出してくれませんが・・・
・・・:type x: <type>
で指定すると候補を出してくれます。ちなみに関数を書いて改行したあとに"""
と打って改行すると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への辞書 |
T | ジェネリック型 (T-Zはジェネリック型の予約語) |
T <= Foo | Fooを継承したクラス |
list[T <= Foo] | リストの要素として、Fooを継承したタイプしか受け付けない |
Foo[T] | Tを引数にとるFoo |
(Foo, Bar) -> Baz | Bazを返す、FooとBarの関数 |
list[dict[str, datetime]] | 文字列からdatetimeへの辞書、のリスト(要素の入れ子) |
ブログやってます:Weed software