对于Python的None
对象,使用类型提示None
代替其实际类型NoneType
。从docs:
请注意,None作为类型提示是一种特殊情况,并由type(None)代替。
我发现这令人困惑,没有给出进一步的解释。
有人知道背后的原因吗?
这只是设计选择。背后没有特殊原因。
def fn(x: None) -> None
的写法比def fn(x: NoneType) -> NoneType
更为简洁(恕我直言也更清晰)。
也与其他类型提示一致:List
,Dict
等,它们都是单个单词(与关联的内置函数相同),带有首字母大写。