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是1
3.默認(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?mxnet包成功安裝詳細(xì)指南(避免踩坑+報(bào)錯(cuò))
這篇文章主要給大家介紹了關(guān)于Python?mxnet包成功安裝的相關(guān)資料,包括創(chuàng)建Python環(huán)境、激活環(huán)境、安裝MXNet及其依賴(lài)項(xiàng),以及在PythonCharm中配置Python解釋器,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-12-12關(guān)于Pycharm無(wú)法debug問(wèn)題的總結(jié)
今天小編就為大家分享一篇關(guān)于Pycharm無(wú)法debug問(wèn)題的總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01Python?Pyramid框架應(yīng)用場(chǎng)景及高級(jí)特性實(shí)戰(zhàn)
Pyramid是一個(gè)靈活且強(qiáng)大的Python?web框架,廣泛用于構(gòu)建各種規(guī)模的Web應(yīng)用程序,本文將深度探索Pyramid框架,介紹其核心概念、應(yīng)用場(chǎng)景以及一些高級(jí)特性2023-12-12解決pyinstaller 打包exe文件太大,用pipenv 縮小exe的問(wèn)題
這篇文章主要介紹了解決pyinstaller 打包exe文件太大,用pipenv 縮小exe的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07pyecharts繪制時(shí)間輪播圖柱形圖+餅圖+玫瑰圖+折線圖
這篇文章主要介紹了pyecharts繪制時(shí)間輪播圖柱形圖+餅圖+玫瑰圖+折線圖,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-06-06