问题
What is the correct type annotation for a __init__
function in python?
class MyClass:
...
Which of the following would make more sense?
def __init__(self):
# type: (None) -> None
def __init__(self):
# type: (MyClass) -> MyClass
def __init__(self):
# type: (None) -> MyClass
Since we would normally instantiate as myclass = MyClass()
, but the __init__
function itself has no return value.
回答1:
self
should be omitted from the annotation when it is given as a comment, and __init__()
should be marked as -> None
. This is all specified explicitly in PEP-0484.
来源:https://stackoverflow.com/questions/46779046/correct-type-annotation-for-init