在Python 3.x中,通常会使用函数的返回类型注解,例如:
def foo() -> str:
return "bar"
对于"void"类型,正确的注释是什么?
我考虑了3个选项:
def foo() -> None:
- 在我看来不太合逻辑,因为
None
不是一个类型。
- 在我看来不太合逻辑,因为
def foo() -> type(None):
- 使用我所知道的最佳语法来获取
NoneType
。
- 使用我所知道的最佳语法来获取
def foo():
- 省略显式的返回类型信息。
对我来说,选项2似乎是最合理的选择,但我已经看到过一些1的实例。
void
的函数。任何没有显式return
语句的函数(或函数中的分支)都会返回None
。我假设原帖作者理解这一点,这条评论主要是为了未来读者的利益... - PM 2RingNone
进行类型提示似乎并不合理,因为它本身并不是一种类型,除非你知道在内部None
被解释为type(None)
,也就是NoneType
。 - starriet