Python optional function argument to default to another argument's value
我想用一些可选参数定义一个函数,比如a(强制)和b(可选)。如果不给B,我希望它取和A相同的值。我怎么能这样做?
我已经尝试过了,但它不起作用(未定义名称"b"):
1 2 | def foo(A, B=A): do_something() |
我知道参数的值不会在函数体之前赋值。
你应该在你的职能范围内这样做。
发挥你原来的功能:
1 2 | def foo(A, B=A): do_something() |
尝试以下方法:
1 2 3 4 | def foo(A, B=None): if B is None: B = A do_something() |
重要的是,函数参数的函数默认值是在定义函数时给出的。
当您使用
你可以这样做。如果
1 2 3 4 5 6 | def foo(A, B=None): if B is None: B = A print 'A = %r' % A print 'B = %r' % B |