web-dev-qa-db-ja.com

__init__のTypeアノテーションを修正

Pythonの___init___関数の正しい型注釈は何ですか?

_class MyClass:
    ...
_

次のうちどれがより意味がありますか?

_def __init__(self):
    # type: (None) -> None

def __init__(self):
    # type: (MyClass) -> MyClass

def __init__(self):
    # type: (None) -> MyClass
_

通常はmyclass = MyClass()としてインスタンス化しますが、___init___関数自体には戻り値がありません。

17
cppgnlearner

コメントとして指定する場合、selfをアノテーションから省略し、__init__()-> Noneとしてマークする必要があります。これはすべて PEP-0484 で明示的に指定されています。

17
remram