Python 函数参数';s的默认值等于另一个参数
是否可以将函数参数的默认值定义为同一函数定义中的另一个参数?比如:Python 函数参数';s的默认值等于另一个参数,python,function,arguments,default,Python,Function,Arguments,Default,是否可以将函数参数的默认值定义为同一函数定义中的另一个参数?比如: def func(a, b=a): print a, b 但那不起作用。不,这是不可能的。Python解释器认为,当没有全局变量a时,需要将参数b的默认值赋给全局变量a 您可能想尝试以下方法: def func(a, b=None): if b is None: b = a 为什么不在函数的第一行将a分配给b?您不能这样做,您需要执行b=None然后如果b为None:b=a。看到了吗(如果你搜索的
def func(a, b=a):
print a, b
但那不起作用。不,这是不可能的。Python解释器认为,当没有全局变量
a
时,需要将参数b
的默认值赋给全局变量a
您可能想尝试以下方法:
def func(a, b=None):
if b is None:
b = a
为什么不在函数的第一行将
a
分配给b
?您不能这样做,您需要执行b=None
然后如果b为None:b=a
。看到了吗(如果你搜索的话,你会发现这个…),这不允许只通过一个variable@EthanBierlein“一个好的投稿人能做出的最佳反应是搜索重复的内容”——即,而不是回答。