Skip to main content
 首页 » 编程设计

Python 可选函数参数默认为另一个参数的值

2025年05月04日15youxin

我想定义一个带有一些可选参数的函数,比方说 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 默认值已经分配并存在于函数定义中。