标签:python 学习
解决:函数调用赋值顺序的问题
01,一般情况下是一一对应赋值(有预定义值的可以不赋值)-------推荐******
02,可以指定形参一一赋值
03,有预定义值的参数不能优先于无预定义值的参数被赋值
注:01的情况下在调用的时候,不用写形参名称。
02的情况下在调用的时候,需指定:形参名称=值(所有形参全部指出)
eg1:
def test_e(n1,n2,n3=15):
n=n1+n2+n3
return n
01 对应的调用方法:s=test_e(4,1) n3=15
s=test_e(4,1,12) n3=12
02 对应的调用方法:s=test_e(4,n2=1) n3=15
s=test_e(4,n2=1,n3=12)
s=test_e(n2=1,n1=4) n3=15
03 对应的调用方法:s=test_e(n3=14,n2=1,n1=4) ----ok
s=test_e(n3=14,n2=1,4)--------no
s=test_e(n3=14,1,4)-----------no
03中两个no的原因:因为有预定义值的参数,不能优先于无预定义值的参数被赋值。
s=test_e(4,n1=1)--------------no
原因:4默认是赋值给n1的,n1不能被重复赋值
s=test_e(4,1,n3=15)-----------ok
标签:python 学习
原文地址:http://tenderrain.blog.51cto.com/9202912/1620717