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列表list數(shù)組array用法實例解析
這篇文章主要介紹了Python列表list數(shù)組array用法,實例解析了關(guān)于數(shù)組的各種常見操作,非常具有實用價值,需要的朋友可以參考下2014-10-10
python接口自動化之使用token傳入到header消息頭中
這篇文章主要介紹了python接口自動化之使用token傳入到header消息頭中問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Python實現(xiàn)判斷字符串中包含某個字符的判斷函數(shù)示例
這篇文章主要介紹了Python實現(xiàn)判斷字符串中包含某個字符的判斷函數(shù),涉及Python自定義函數(shù)中使用find方法針對字符串的簡單判斷查找相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Python實現(xiàn)Excel表內(nèi)關(guān)鍵字查修改刪
在日常辦公和數(shù)據(jù)處理中,Excel作為最常用的表格工具,承載著海量業(yè)務(wù)數(shù)據(jù),但對于有些場景也會力不從心,本文將使用Python開發(fā)一個Excel表內(nèi)關(guān)鍵字查修改刪工具,需要的可以參考下2025-04-04

