python中函數(shù)傳參的幾種實(shí)現(xiàn)方式
1.位置傳參
實(shí)參與形參的位置數(shù)量一致
def foo(a,b): #形參
print(a)
if __name__ == '__main__':
foo(1,2) #實(shí)參
2.關(guān)鍵字傳參
關(guān)鍵字傳參是指使用形參的名字來(lái)確定輸入的參數(shù)。
通過(guò)該方式指定實(shí)參時(shí),不需要與形參位置一致,只要參數(shù)名稱(chēng)寫(xiě)正確即可
def foo(a,b):
print(f"a是{a},b是")
if __name__ == '__main__':
foo(b=1,a=2)
#結(jié)果
a是2,b是13.默認(rèn)傳參
調(diào)用函數(shù)時(shí),如果沒(méi)有指定某個(gè)參數(shù)將拋出異常,即在定義函數(shù)時(shí),直接指定形式參數(shù)的默認(rèn)值。
這樣,當(dāng)沒(méi)有傳入?yún)?shù)時(shí),則直接使用定義函數(shù)時(shí)設(shè)置的默認(rèn)值。
語(yǔ)法格式如下:
def foo(a,b,c="我是默認(rèn)參數(shù)"):
print(f"a是:{a},b是:,c是:{c}")
if __name__ == '__main__':
foo(b=1,a=2)4.可變參數(shù)傳參(*args,**kwargs)
--也可以叫不定長(zhǎng)參數(shù)
- 1.*args可以接收任意長(zhǎng)度的位置參數(shù)
- 2.**kwargs可以接收任意長(zhǎng)度的關(guān)鍵字參數(shù)
- 3.*args和**kwargs同事使用時(shí),*args(位置參數(shù))在前,**kwargs(關(guān)鍵字)參數(shù)在后。
形參為可變參數(shù)
def foo(*args, **kwargs):
print("Positional arguments:")
print(type(args))
for arg in args:
print(arg)
print("\nKeyword arguments:")
print(type(kwargs))
for key, value in kwargs.items():
print(key + ": " + str(value))
if __name__ == '__main__':
a = foo(1,2,3,4,5,name = "tom",age = 18)
help(foo())實(shí)參為可變參數(shù)
def foo(a,b,name,age):
print(a,b,name,age)
if __name__ == '__main__':
a = [1,2]
b = {"name":"tom","age":18}
c = foo(*a,**b)
#結(jié)果
1 2 tom 18實(shí)參和形參都為可變參數(shù)
def foo(*args, **kwargs):
print("Positional arguments:")
print(type(args))
for arg in args:
print(arg)
print("\nKeyword arguments:")
print(type(kwargs))
for key, value in kwargs.items():
print(key + ": " + str(value))
if __name__ == '__main__':
a = [1,2,3,4,5]
b = {"name":"tom","age":18}
a = foo(*a,**b)總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python如何實(shí)現(xiàn)圖片轉(zhuǎn)文字
這篇文章主要介紹了python如何實(shí)現(xiàn)圖片轉(zhuǎn)文字問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
python中string模塊各屬性以及函數(shù)的用法介紹
下面小編就為大家?guī)?lái)一篇python中string模塊各屬性以及函數(shù)的用法介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
Python趣味挑戰(zhàn)之實(shí)現(xiàn)簡(jiǎn)易版音樂(lè)播放器
小伙伴們天天學(xué)編程應(yīng)該都學(xué)累了,今天特地給大家整理了這篇文章,讓大家在學(xué)習(xí)的時(shí)候也收貨快樂(lè),文中有非常詳細(xì)的代碼示例,需要的朋友可以參考下2021-05-05
利用Python編寫(xiě)的實(shí)用運(yùn)維腳本分享
Python在很大程度上可以對(duì)shell腳本進(jìn)行替代。筆者一般單行命令用shell,復(fù)雜點(diǎn)的多行操作就直接用Python了。本文歸納了Python中一些實(shí)用腳本操作,需要的可以參考一下2022-05-05
python matplotlib保存圖片不全問(wèn)題及解決
這篇文章主要介紹了python matplotlib保存圖片不全問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
python try except返回異常的信息字符串代碼實(shí)例
這篇文章主要介紹了python try except返回異常的信息字符串代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python環(huán)境配置實(shí)現(xiàn)pip加速過(guò)程解析
這篇文章主要介紹了Python環(huán)境配置實(shí)現(xiàn)pip加速過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11

