typehints -> None or leave blank

后端 未结 1 976
北海茫月
北海茫月 2020-12-10 13:14

Using python 3, one has the option to use typehints.

My question is, if a function returns None, should one add this, or leave it blank.

i.e.



        
相关标签:
1条回答
  • 2020-12-10 13:59

    Be explicit and always include -> None for functions that return None

    That's because otherwise, for functions that don't take arguments, the type checker will assume that you did not use type hints at all. For example, is def foo(): going to return None, or was it simply not type hinted?

    PEP 484 - Type Hints indirectly addresses this:

    Note that the return type of __init__ ought to be annotated with -> None. The reason for this is subtle. If __init__ assumed a return annotation of -> None, would that mean that an argument-less, un-annotated __init__ method should still be type-checked? Rather than leaving this ambiguous or introducing an exception to the exception, we simply say that __init__ ought to have a return annotation; the default behavior is thus the same as for other methods.

    0 讨论(0)
提交回复
热议问题