您好,登錄后才能下訂單哦!
小編給大家分享一下python函數不定參數的傳遞方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
函數參數可為分如下幾種:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數 。
當我們在定義和調用一個函數時,如果包含所有的參數類型,則必須按照:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數的順序。但是在實際開發中,不建議包含過多的參數類型,會影響代碼的可讀性 。
必選參數很簡單,就是函數中必須要接受的參數。
默認參數,即給參數賦一個默認值,我們在傳遞時,可省略對該參數的傳值操作。
如:
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") # 這樣是不對的
關鍵字參數使用 kwargs 來標識,是規定,而kwargs可替換,它將不定長參數轉換為 dict 傳入函數。它用于擴展函數的功能。比如
我們要實現用戶注冊,有必輸項和非必輸項,這些非必輸項就可以用關鍵字參數來接受。
可變參數,在定義函數時用 *args 來接受,其中 * 是規定的,args可用其他名稱替換,但一般習慣用 args 來表示。可變參數在傳入函數后,被封裝成一個 tuple 來進行使用。所以我們在函數內部,可以通過操作 tuple 的方法來操作參數,示例如下:
def print_numbers(*args): print(type(args)) # tuple for n in args: print(type(n)) # int print_numbers(1, 2, 3, 4)
如果在函數外已經得到一個 list 或者 tuple,想調用一個可變參數,也可以用 *+變量名 的形式進行調用,(這種用法有點類似 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 作為一個整體傳入,這樣函數接受到的其實只有一個參數,且參數類型為 list
看完了這篇文章,相信你對python函數不定參數的傳遞方法有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。