我的同事说我写的代码最近崩溃了,那是因为在函数的参数列表中我没有指定Optional[str] = None
。我只有Optional[str]
.
所以基本上我的函数看起来像这样:
def a(b: Optional[str]):
if b is None:
<do something>
else:
<do something>
我一直认为可选参数的默认值是 None,所以我没有指定默认值。它没有为我崩溃,而是为我的同事崩溃,所以我有点困惑。
我的 python 版本是>=3。
如上文注释所述,Optional[str]
是 IDE 和其他静态分析工具要使用的类型提示,而不是默认参数。 如果你想做一个默认参数,以便你可以用a()
调用函数,那么你确实需要按照你的建议添加= None
。 如果您希望使用省略的参数调用此函数,这可能是一种合理的方法,但这取决于您的设计和体系结构。