gpt4 book ai didi

python - 在 python 中提供默认值的最惯用方法?

转载 作者:太空狗 更新时间:2023-10-30 02:31:14 24 4
gpt4 key购买 nike

如果 Python 函数在参数中接收到 None,许多讨论和 SO 搜索都无法最终回答提供默认值的最佳/最安全/最 Pythonic 方式的问题。这特别针对 datetime 参数提出,以防万一,但理想情况下,我们针对所有参数类型标准化我们的方法。

以下是两种不断被认为是“正确”方法的两种方法:

  1. myval if myval else defaultval
  2. myval 或 defaultval

它们在功能上是等同的,还是两者之间存在细微差别?我非常喜欢第二种选择的简洁明了,但第一种选择的拥护者说它并不总是安全的。任何来自比我有更多 python 经验的人(例如几乎任何人)的指导都将不胜感激。

最佳答案

1 是迄今为止首选的条件赋值方法(显式优于隐式)

更好的是明确

myval = myval if myval is not None else defaultval

甚至更好

def some_function(arg1,arg2="defaultValue"):
myval = arg2

主要问题是

x = x or y

永远不能为 x 分配 0 或空数组或任何其他虚假值

关于python - 在 python 中提供默认值的最惯用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23298190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com