1.普通的參數傳遞
>>> def add(a,b): return a+b >>> print add(1,2) 3 >>> print add('abc','123') abc123
2.參數個數可選,參數有默認值的傳遞
>>> def myjoin(string,sep='_'): return sep.join(string) >>> myjoin('Test') 'T_e_s_t' >>> myjoin('Test',';') 'T;e;s;t' ? >>> def myrange(start=0,stop,step=1): print stop,start,step SyntaxError: non-default argument follows default argument
參數sep的缺省值是'_' 如果這個參數不給定值就會使用缺省值 如果給定 則使用給定的值
需要注意 如果一個參數是可選參數 那么它后面所有的參數都應該是可選的,另外 可選參數的順序顛倒依然可以正確的給對應的參數賦值 但必須清楚的指明變量名和值
3.個數可變參數
>>> def printf(fmt,*arg): print fmt%arg >>> printf ('%d is larger than %d',2,1) 2 is larger than 1
函數中的*arg必須是最后一個參數,*表示任意多個參數,*arg會把除了前面以外所有的參數放到一個tuple里面傳遞給函數,可以在函數中通過arg來訪問
arg是一個tuple,可以通過訪問tuple的方法在函數中訪問arg
另一種方式傳遞任意個數參數是通過dictionary的方式來傳遞 同樣也可以接受多個參數 但是每個參數需要指明名稱對應關系比如a=1,b=2,c=3
>>> def printf(format,**keyword): for k in keyword.keys(): print "keyword[%s] %s %s"%(k,format,keyword[k]) >>> printf('is',one=1,tow=2,three=3) keyword[three] is 3 keyword[tow] is 2 keyword[one] is 1
這些方法可以混在一起用 但是一定要注意順序,函數會先接受固定參數,然后可選參數,然后任意參數(tuple),然后字典任意參數(dict)
以上這篇淺談Python中函數的參數傳遞就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
