您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python函數中參數前面一個和兩個星號的區別是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python函數中參數前面一個和兩個星號的區別是什么”吧!
在 Python 的函數中經常能看到輸入的參數前面有一個或者兩個星號,例如:
def foo(param1, *param2): def bar(param1, **param2):
這兩種用法其實都是用來將任意個數的參數導入到 Python 函數中。
單星號(*):*agrs
將所有參數以元組(tuple)的形式導入:
實例
def foo(param1, *param2): print (param1) print (param2) foo(1,2,3,4,5)
以上代碼輸出結果為:
1 (2, 3, 4, 5)
雙星號(**):**kwargs
雙星號(**)將參數以字典的形式導入:
實例
def bar(param1, **param2): print (param1) print (param2) bar(1,a=2,b=3)
以上代碼輸出結果為:
1 {'a': 2, 'b': 3}
此外,單星號的另一個用法是解壓參數列表:
實例
def foo(runoob_1, runoob_2): print(runoob_1, runoob_2) l = [1, 2] foo(*l)
以上代碼輸出結果為:
1 2
當然這兩個用法可以同時出現在一個函數中:
實例
def foo(a, b=10, *args, **kwargs): print (a) print (b) print (args) print (kwargs) foo(1, 2, 3, 4, e=5, f=6, g=7)
以上代碼輸出結果為:
1 2 (3, 4) {'e': 5, 'f': 6, 'g': 7}
感謝各位的閱讀,以上就是“Python函數中參數前面一個和兩個星號的區別是什么”的內容了,經過本文的學習后,相信大家對Python函數中參數前面一個和兩個星號的區別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。