我的同事说我最近写的代码崩溃了,那是因为在函数的参数列表中我没有指定Optional[str] = None. 我只有Optional[str].
所以基本上我的函数是这样的:
def a(b: Optional[str]):
if b is None:
<do something>
else:
<do something>
Run Code Online (Sandbox Code Playgroud)
我一直认为 Optional 参数的默认值是 None,所以我没有指定默认值。它没有为我崩溃,但为我的同事崩溃了,所以我有点困惑。
我的python版本是>=3。
小智 8
正如上面的评论中提到的,Optional[str]是 IDE 和其他静态分析工具使用的类型提示,而不是默认参数。如果您想创建一个默认参数,以便您可以使用 调用该函数a(),那么您确实需要= None按照您的建议进行添加。如果您希望使用省略的参数调用此函数,这可能是一种合理的方法,但这将取决于您的设计和架构。
| 归档时间: |
|
| 查看次数: |
7343 次 |
| 最近记录: |