浅谈Python中函数的参数传递
1.普通的参数传递
>>>defadd(a,b): returna+b >>>printadd(1,2) 3 >>>printadd('abc','123') abc123
2.参数个数可选,参数有默认值的传递
>>>defmyjoin(string,sep='_'): returnsep.join(string) >>>myjoin('Test') 'T_e_s_t' >>>myjoin('Test',';') 'T;e;s;t' ? >>>defmyrange(start=0,stop,step=1): printstop,start,step SyntaxError:non-defaultargumentfollowsdefaultargument
需要注意如果一个参数是可选参数那么它后面所有的参数都应该是可选的,另外可选参数的顺序颠倒依然可以正确的给对应的参数赋值但必须清楚的指明变量名和值
3.个数可变参数
>>>defprintf(fmt,*arg): printfmt%arg >>>printf('%dislargerthan%d',2,1) 2islargerthan1
函数中的*arg必须是最后一个参数,*表示任意多个参数,*arg会把除了前面以外所有的参数放到一个tuple里面传递给函数,可以在函数中通过arg来访问
arg是一个tuple,可以通过访问tuple的方法在函数中访问arg
另一种方式传递任意个数参数是通过dictionary的方式来传递同样也可以接受多个参数但是每个参数需要指明名称对应关系比如a=1,b=2,c=3
>>>defprintf(format,**keyword): forkinkeyword.keys(): print"keyword[%s]%s%s"%(k,format,keyword[k]) >>>printf('is',one=1,tow=2,three=3) keyword[three]is3 keyword[tow]is2 keyword[one]is1
这些方法可以混在一起用但是一定要注意顺序,函数会先接受固定参数,然后可选参数,然后任意参数(tuple),然后字典任意参数(dict)
以上这篇浅谈Python中函数的参数传递就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。