例如,我有一个函数,它对数据执行某些操作,并将名称作为可选参数。如果未提供名称,我想调用另一个参数来创建名称。所以备选方案似乎是
def do_something(data, name=get_name()):
...
或
def do_something(data, name=None):
if name is None:
name=get_name()
...
我觉得第一个更好,但我是否遗漏了什么?
最佳答案
这不是一回事。
get_name()
在函数定义处对第一种情况进行评估,对第二种情况进行动态评估。
有些情况下无论如何都不能使用第一个方法,比如使用方法调用的返回值 (self.method()
)
所以坚持第二个版本。我不知道它是否更像 pythonic,但至少它是一个很好的配方并且有效。
关于python - 将另一个函数作为可选参数调用是否可以/pythonic?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42489049/