[英]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.