我对Google Python Style GuideOptional
中的类型提示有疑问。在第 3.19.5 节中,正确用法如下所示:
def func(a: Optional[Text], b: Optional[Text] = None) -> Text:
我不明白a: Optional[Text]
。为什么不是a: Optional[Text] = None
?
我对Google Python Style GuideOptional
中的类型提示有疑问。在第 3.19.5 节中,正确用法如下所示:
def func(a: Optional[Text], b: Optional[Text] = None) -> Text:
我不明白a: Optional[Text]
。为什么不是a: Optional[Text] = None
?
仅仅因为它Optional
并不意味着它需要一个默认参数,或者该参数是“可选的”。
Optional[Text]
意思是“它可以是一个Text
对象,也可以是None
”。但是,该None
值不必是指定的默认值;它可以由用户提供。无论出于何种原因,您都可能希望用户传递该参数,即使它只是None
.
部分混淆可能是此处使用了“可选”一词。在这种情况下,“可选”并不意味着该参数是可选的。这意味着它是一个选项类型。