关于python:函数参数的默认值等于另一个参数

Function argument's default value equal to another argument

本问题已经有最佳答案,请猛点这里访问。

是否可以将函数参数的默认值定义为同一函数定义中的另一个参数?比如:

1
2
def func(a, b=a):
  print a, b

但那不起作用。


不,这是不可能的。python解释器认为,当没有全局变量a时,需要将参数b的默认值赋给全局变量a

您可能想尝试这样的方法:

1
2
3
def func(a, b=None):
    if b is None:
        b = a