創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都網站設計、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元金灣做網站,已為上家服務,為金灣各地企業(yè)和個人服務,聯(lián)系電話:028-86922220小編給大家分享一下python函數(shù)不定參數(shù)的傳遞方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
函數(shù)參數(shù)可為分如下幾種:必選參數(shù)、默認參數(shù)、可變參數(shù)、命名關鍵字參數(shù)和關鍵字參數(shù) 。
當我們在定義和調用一個函數(shù)時,如果包含所有的參數(shù)類型,則必須按照:必選參數(shù)、默認參數(shù)、可變參數(shù)、命名關鍵字參數(shù)和關鍵字參數(shù)的順序。但是在實際開發(fā)中,不建議包含過多的參數(shù)類型,會影響代碼的可讀性 。
必選參數(shù)很簡單,就是函數(shù)中必須要接受的參數(shù)。
默認參數(shù),即給參數(shù)賦一個默認值,我們在傳遞時,可省略對該參數(shù)的傳值操作。
如:
def print_test(title, msg="world"): print(title, msg) print_test("hello") # hello world print_test("hello", "demon") # hello demon print_test("hello", msg="demon") # hello demon # 錯誤調用示例 # print_test( msg="demon","hello") # 這樣是不對的
關鍵字參數(shù)使用 kwargs 來標識,是規(guī)定,而kwargs可替換,它將不定長參數(shù)轉換為 dict 傳入函數(shù)。它用于擴展函數(shù)的功能。比如
我們要實現(xiàn)用戶注冊,有必輸項和非必輸項,這些非必輸項就可以用關鍵字參數(shù)來接受。
可變參數(shù),在定義函數(shù)時用 *args 來接受,其中 * 是規(guī)定的,args可用其他名稱替換,但一般習慣用 args 來表示??勺儏?shù)在傳入函數(shù)后,被封裝成一個 tuple 來進行使用。所以我們在函數(shù)內部,可以通過操作 tuple 的方法來操作參數(shù),示例如下:
def print_numbers(*args): print(type(args)) # tuple for n in args: print(type(n)) # int print_numbers(1, 2, 3, 4)
如果在函數(shù)外已經得到一個 list 或者 tuple,想調用一個可變參數(shù),也可以用 *+變量名 的形式進行調用,(這種用法有點類似 C語言 中的指針),示例如下:
def print_numbers(*args): print(type(args)) # tuple for n in args: print(type(n)) # int l = [1, 2, 3, 4] print_numbers(*l) # *l,等價于 print_numbers(1, 2, 3, 4) print_numbers(l) # 將 l 作為一個整體傳入,這樣函數(shù)接受到的其實只有一個參數(shù),且參數(shù)類型為 list
看完了這篇文章,相信你對python函數(shù)不定參數(shù)的傳遞方法有了一定的了解,想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)-成都網站建設公司行業(yè)資訊頻道,感謝各位的閱讀!