In python 3.x, it is common to use return type annotation of a function, such as:
def foo() -> str:
return "bar"
What is the correct annotation for the "void" type?
I'm considering 3 options:
def foo() -> None:
None
is not a type,def foo() -> type(None):
NoneType
,def foo():
Option 2. seems the most logical to me, but I've already seen some instances of 1.
This is straight from PEP 484 -- Type Hints documentation:
When used in a type hint, the expression
None
is considered equivalent totype(None)
.
And, as you can see most of the examples use None
as return type.