Python: 在函数定义阶段,为啥更改d与*x的位置会导致结果不同

Python: 在函数定义阶段,为啥更改d与*x的位置会导致结果不同

第一个图里,函数func把3,0,4都传给x,而d用缺省值2,所以计算等价于 sqrt(3**2 + 0**2 + 4**2) = 5。

第而各图里,函数定义里d虽然声明了缺省值,但是缺省值必须从右边开始给。所以这里d十几传进了3,从而x是0,4,所以计算等价于 sqrt(0**3 + 4**3) = 8