Python函數(shù)中的不定長參數(shù)相關(guān)知識總結(jié)
一、 不定長位置參數(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運行 結(jié)果

fn1運行結(jié)果

fn2運行結(jié)果

fn3運行結(jié)果

總結(jié):
1.帶*的形參只能有一個,有多個會報錯,不能識別
2.帶*的形參可以和其他參數(shù)配合使用,比如和不帶星的
3.帶*的形參不一定要放在最后面,可以放在最前面,中間,最后。但是注意,帶星的參數(shù)后的所有參數(shù),必須以關(guān)鍵字參數(shù)的形式傳遞,否則會保錯。
二、不定長關(guān)鍵字參數(shù)
# 帶*的形參只能接收位置參數(shù),關(guān)鍵字參數(shù)接收不能接收
# 如下會報錯,fn傳如下值是會報錯的
def fn(*args):
print("args=", args)
print("args type:", type(args))
if __name__ == "__main__":
# 這樣傳會保存,args不能接收關(guān)鍵字參數(shù)
fn(1, 2, 3, 4, a=10)
運行如下:

# **形參能接收關(guān)鍵字參數(shù)
# 它將接收的所有關(guān)鍵字參數(shù)統(tǒng)一保存在一個字典中
def fn4(**kwargs):
print("kwargs = ", kwargs)
print(type(kwargs))
if __name__ == "__main__":
fn4(a=1, b=2, c=3)
運行結(jié)果:

總結(jié):
1.**形參只能有一個,并且必須寫在所有參數(shù)的最后。
2.字典的key就是參數(shù)的名字,字典的value就是參數(shù)的值
到此這篇關(guān)于Python函數(shù)中的不定長參數(shù)相關(guān)知識總結(jié)的文章就介紹到這了,更多相關(guān)Python不定長參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
通過Python實現(xiàn)在Word中添加和刪除書簽的操作
在Word中,書簽功能是一個非常實用的工具,它允許用戶快速定位到文檔中的特定位置,無論是進行文檔審閱、編輯還是查找特定信息,書簽都能提供極大的便利,下面將詳細介紹如何通過Python在Word文檔中添加和刪除書簽,需要的朋友可以參考下2024-09-09
Python實現(xiàn)統(tǒng)計圖像連通域的示例詳解
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)統(tǒng)計圖像連通域的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起了解一下2023-04-04

