gpt4 book ai didi

python - 如何将可选的 python 参数传递给带有可选参数的子函数

转载 作者:行者123 更新时间:2023-12-01 00:40:27 25 4
gpt4 key购买 nike

给定一个带有可选参数的简单 Python 函数,例如:

def wait(seconds=3):
time.sleep(seconds)

如何创建一个调用此函数并传递可选参数的函数?例如,这不起作用:

def do_and_wait(message, seconds=None):
print(message)
wait(seconds)

注意:我希望能够使用可选的参数从其他函数调用wait,而不必知道并复制当前的底层 wait 函数中的默认 值传递给调用它的每个其他函数。

如上所述,如果我使用可选参数调用它,例如 do_and_wait(2) 那么它就可以工作,但尝试依赖 wait 的默认值,例如像 do_and_wait() 这样调用它会导致 TypeError,因为在 wait 秒内 == None。

有没有一种简单明了的方法来完成这项工作?我知道我可以像这样滥用 kwargs:

def do_and_wait(message, **kwargs):
print(message)
wait(**kwargs)

但是对于该函数的读者和用户来说,这似乎不清楚,因为参数上没有有用的名称。

注意:这是一个愚蠢的简化示例。

最佳答案

我知道您已经简化了您的问题,但我认为您的意思是如何调用带有可能为 None 的可选参数的函数。以下内容对您有用吗?

import time

def func1(mess, sec):
if sec != None:
time.sleep(sec)
print(mess)


func1('success', sec=None)

关于python - 如何将可选的 python 参数传递给带有可选参数的子函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57385487/

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