我想定义一个带有一些可选参数的函数,比方说 A(强制)和 B(可选)。当 B 未给出时,我希望它采用与 A 相同的值。我该怎么做?
我已经试过了,但它不起作用(名称“B”未定义):
def foo(A, B=A):
do_something()
我知道参数的值没有在函数体之前赋值。
请您参考如下方法:
您应该在您的函数内执行此操作。
采用您的原始功能:
def foo(A, B=A):
do_something()
尝试类似的东西:
def foo(A, B=None):
if B is None:
B = A
do_something()
重要的是,函数参数的函数默认值是在定义函数时给出的。
当您用 A 的某个值调用函数时,为时已晚,因为 B 默认值已经分配并存在于函数定义中。
