淺談Python中函數的參數傳遞
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里面?zhèn)鬟f給函數,可以在函數中通過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中函數的參數傳遞就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python tkinter中的錨點(anchor)問題及處理
這篇文章主要介紹了python tkinter中的錨點(anchor)問題及處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06使用?OpenAI?API?和?Python?使用?GPT-3的操作方法
這篇文章主要介紹了使用?OpenAI?API?和?Python?使用?GPT-3,在本文中,我們將使用?GPT-3。我將向您展示如何訪問它,并提供一些示例來說明您可以使用它做什么,以及您可以使用它構建什么樣的應用程序,需要的朋友可以參考下2023-03-03