1.普通的參數傳遞
>>> def add(a,b): return a+b >>> print add(1,2) 3>>> print add('abc','123') abc1232.參數個數可選,參數有默認值的傳遞
>>> 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 3keyword[tow] is 2keyword[one] is 1 這些方法可以混在一起用 但是一定要注意順序,函數會先接受固定參數,然后可選參數,然后任意參數(tuple),然后字典任意參數(dict)
以上這篇淺談Python中函數的參數傳遞就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答
圖片精選