我的同事说我写的代码最近崩溃了,这是因为在函数的参数列表中我没有指定Optional[str] = None。我只有Optional[str]。所以基本上我的函数看起来像这样:def a(b: Optional[str]): if b is None: <do something> else: <do something>我一直认为Optional参数的默认值是None,所以我没有指定默认值。它对我来说并没有崩溃,但对我的同事却崩溃了,所以我有点困惑。我的python版本是> = 3。
1 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
如以上注释中所述,Optional[str]
是IDE和其他静态分析工具要使用的类型提示,而不是默认参数。如果要设置默认参数,以便可以使用调用函数a()
,则确实需要= None
按建议添加。如果您希望使用省略的参数来调用此函数,那可能是一种合理的方法,但这将取决于您的设计和体系结构。
添加回答
举报
0/150
提交
取消