Python函數(shù)中的不定長參數(shù)相關知識總結
一、 不定長位置參數(shù)
# 在定義函數(shù)參數(shù)時,可以在形參的前面加*,該形參將獲取所有的位置實參 # 它會將所有的實參保存在一個元組中 def fn(*args): print("args=", args) print("args type:", type(args)) # 帶*形參和其他參數(shù)配合使用 def fn1(a, b, *args): print(a) print(b) print(args) # 下面這兩種寫法可以,但是在傳實參的時候要注意 def fn2(*args, a, b): print(a) print(b) print(args) def fn3(a, *args, b): print(a) print(args) print(b) if __name__ == "__main__": # 接收所有的位置參數(shù) fn(1, 2, 3, 4, 5) fn1(11, 12, 13, 14) # fn2(21, 22, 23, 24) #這么傳會報錯 fn2(21, 22, a=23, b=24) # fn3(21, 22, 23, 24) #這么傳會報錯 fn3(21, 22, 23, b=24)
fn運行 結果
fn1運行結果
fn2運行結果
fn3運行結果
總結:
1.帶*的形參只能有一個,有多個會報錯,不能識別
2.帶*的形參可以和其他參數(shù)配合使用,比如和不帶星的
3.帶*的形參不一定要放在最后面,可以放在最前面,中間,最后。但是注意,帶星的參數(shù)后的所有參數(shù),必須以關鍵字參數(shù)的形式傳遞,否則會保錯。
二、不定長關鍵字參數(shù)
# 帶*的形參只能接收位置參數(shù),關鍵字參數(shù)接收不能接收 # 如下會報錯,fn傳如下值是會報錯的 def fn(*args): print("args=", args) print("args type:", type(args)) if __name__ == "__main__": # 這樣傳會保存,args不能接收關鍵字參數(shù) fn(1, 2, 3, 4, a=10)
運行如下:
# **形參能接收關鍵字參數(shù) # 它將接收的所有關鍵字參數(shù)統(tǒng)一保存在一個字典中 def fn4(**kwargs): print("kwargs = ", kwargs) print(type(kwargs)) if __name__ == "__main__": fn4(a=1, b=2, c=3)
運行結果:
總結:
1.**形參只能有一個,并且必須寫在所有參數(shù)的最后。
2.字典的key就是參數(shù)的名字,字典的value就是參數(shù)的值
到此這篇關于Python函數(shù)中的不定長參數(shù)相關知識總結的文章就介紹到這了,更多相關Python不定長參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
通過Python實現(xiàn)在Word中添加和刪除書簽的操作
在Word中,書簽功能是一個非常實用的工具,它允許用戶快速定位到文檔中的特定位置,無論是進行文檔審閱、編輯還是查找特定信息,書簽都能提供極大的便利,下面將詳細介紹如何通過Python在Word文檔中添加和刪除書簽,需要的朋友可以參考下2024-09-09Python實現(xiàn)統(tǒng)計圖像連通域的示例詳解
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)統(tǒng)計圖像連通域的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下2023-04-04