1

我对Google Python Style GuideOptional中的类型提示有疑问。在第 3.19.5 节中,正确用法如下所示:

def func(a: Optional[Text], b: Optional[Text] = None) -> Text:

我不明白a: Optional[Text]。为什么不是a: Optional[Text] = None

4

1 回答 1

1

仅仅因为它Optional并不意味着它需要一个默认参数,或者该参数是“可选的”。

Optional[Text]意思是“它可以是一个Text对象,也可以是None”。但是,该None值不必是指定的默认值;它可以由用户提供。无论出于何种原因,您都可能希望用户传递该参数,即使它只是None.

部分混淆可能是此处使用了“可选”一词。在这种情况下,“可选”并不意味着该参数是可选的。这意味着它是一个选项类型

于 2020-05-05T15:01:12.353 回答