为了账号安全,请及时绑定邮箱和手机立即绑定

在Python中,我们应该在参数列表中设置Optional [str] = None吗?

在Python中,我们应该在参数列表中设置Optional [str] = None吗?

墨色风雨 2021-05-14 18:15:09
我的同事说我写的代码最近崩溃了,这是因为在函数的参数列表中我没有指定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按建议添加。如果您希望使用省略的参数来调用此函数,那可能是一种合理的方法,但这将取决于您的设计和体系结构。


查看完整回答
反对 回复 2021-05-25
  • 1 回答
  • 0 关注
  • 1730 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信