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

我的同事说我写的代码最近崩溃了,这是因为在函数的参数列表中我没有指定Optional[str] = None。我只有Optional[str]。


所以基本上我的函数看起来像这样:


def a(b: Optional[str]):

    if b is None:

        <do something>

    else:

        <do something>

我一直认为Optional参数的默认值是None,所以我没有指定默认值。它对我来说并没有崩溃,但对我的同事却崩溃了,所以我有点困惑。


我的python版本是> = 3。


墨色风雨
浏览 1731回答 1
1回答

元芳怎么了

如以上注释中所述,Optional[str]是IDE和其他静态分析工具要使用的类型提示,而不是默认参数。如果要设置默认参数,以便可以使用调用函数a(),则确实需要= None按建议添加。如果您希望使用省略的参数来调用此函数,那可能是一种合理的方法,但这将取决于您的设计和体系结构。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python