Google 风格指南中的可选类型提示
Optional type hint in Google Style Guide
我对 Google Python Style Guide 中的 Optional
类型提示有疑问。在第 3.19.5 节中,以下显示为正确用法:
def func(a: Optional[Text], b: Optional[Text] = None) -> Text:
我不明白a: Optional[Text]
。为什么不是a: Optional[Text] = None
?
仅仅因为它是 Optional
并不意味着它需要默认参数,或者参数是 "optional".
Optional[Text]
表示 "it can be a Text
object, or it can be None
"。 None
值不必是指定的默认值;它可以由用户提供。无论出于何种原因,您可能希望用户传递该参数,即使它只是 None
.
部分混淆可能是此处使用了术语 "optional"。 "Optional" 在此上下文中并不意味着该参数是可选的。这意味着它是一个 option type.
我对 Google Python Style Guide 中的 Optional
类型提示有疑问。在第 3.19.5 节中,以下显示为正确用法:
def func(a: Optional[Text], b: Optional[Text] = None) -> Text:
我不明白a: Optional[Text]
。为什么不是a: Optional[Text] = None
?
仅仅因为它是 Optional
并不意味着它需要默认参数,或者参数是 "optional".
Optional[Text]
表示 "it can be a Text
object, or it can be None
"。 None
值不必是指定的默认值;它可以由用户提供。无论出于何种原因,您可能希望用户传递该参数,即使它只是 None
.
部分混淆可能是此处使用了术语 "optional"。 "Optional" 在此上下文中并不意味着该参数是可选的。这意味着它是一个 option type.