web-dev-qa-db-fra.com

Annotation de type correcte pour __init__

Quelle est l'annotation de type correcte pour une fonction __init__ En python?

class MyClass:
    ...

Lequel des énoncés suivants aurait le plus de sens?

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

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

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

Puisque nous instancions normalement comme myclass = MyClass(), mais la fonction __init__ Elle-même n'a pas de valeur de retour.

17
cppgnlearner

self doit être omis de l'annotation lorsqu'elle est donnée en commentaire, et __init__() doit être marqué comme -> None. Tout cela est spécifié explicitement dans PEP-0484 .

17
remram