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

Ale*_*lex 6 python arguments default function

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

def func(a, b=a):
  print a, b
Run Code Online (Sandbox Code Playgroud)

但那没用.

Eth*_*ein 10

不,这是不可能的.Python解释器认为,当没有b全局变量a时,您希望将参数的默认值分配给全局变量a.

您可能想尝试这样的事情:

def func(a, b=None):
    if b is None:
        b = a
Run Code Online (Sandbox Code Playgroud)