繁体   English   中英

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

[英]Python optional function argument to default to another argument's value

我想用一些可选参数定义一个函数,比如说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分配了默认值并且位于函数定义中。

您可以这样做。 如果B的值为None ,则从A分配它

def foo(A, B=None):
    if B is None:
        B = A

    print 'A = %r' % A
    print 'B = %r' % B

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM