错误描述:
Python定义方法时,给方法的部分参数指定默认值。调用参数时,报异常:SyntaxError:non-default argument follows default argument。
错误原因:没有默认值的参数不能放在有默认值的参数的后面
错误示例
- def test(n = 2, x):
- s = 1
- while n > 0:
- n = n -1
- s = s * x
- return s
- print(test(5))
调整参数位置后正常:
def power(x, n = 2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print(power(5))
问题:为什么默认参数不能放在必选参数前面?