Python傳遞參數(shù)的多種方式(小結(jié))
一 位置傳遞
沒什么好過多講解.
# 位置傳遞實(shí)例: def fun1(a,b,c): return a+b+c print(fun1(1,2,3))
輸出:
6
二 關(guān)鍵字傳遞
更具每個(gè)參數(shù)的名字寫入函數(shù)參數(shù)
# 關(guān)鍵字傳遞 def fun2(a,b,c): return a+b+c print(fun2(1,c=3,b=2))
輸出:
6
三 參數(shù)默認(rèn)值傳遞
給函數(shù)的輸入?yún)?shù)設(shè)定一個(gè)默認(rèn)值,如果該參數(shù)最終沒有輸入,則使用默認(rèn)參數(shù)出入函數(shù).
# 默認(rèn)值傳遞 def fun3(a,b=2,c=3): return a+b+c print(fun3(a = 1))
輸出:
6
四 包裹傳遞
在定義函數(shù)時(shí),我們有時(shí)候并不知道調(diào)用的時(shí)候會(huì)傳遞多少個(gè)參數(shù)。這時(shí)候,包裹(packing)位置參數(shù)或者包裹關(guān)鍵字參數(shù)來進(jìn)行參數(shù)傳遞會(huì)非常有用。
下面是包裹位置傳遞的例子:
def fun4(*name): print(type(name)) print(name) fun4([1,2,3]) fun4((1,2,3)) fun4(1,2,3)
結(jié)果:
<class 'tuple'>
([1, 2, 3],)
<class 'tuple'>
((1, 2, 3),)
<class 'tuple'>
(1, 2, 3)
從上面的結(jié)果分析:
在fun4的參數(shù)表中,所有的參數(shù)被name收集,根據(jù)位置合并成一個(gè)元祖(tuple),這就是包裹位置傳遞。
五 解包裹傳遞
def func1(a,b=1,*c,**d): print(a,b,c,d) l = [3,4] dic = {'@':2,'#':3} func1(1,2,l,dic) print("---------**------------") func1(1,2,*l,**dic) func1(1,2,3,4,**dic)
運(yùn)行結(jié)果:
1 2 ([3, 4], {'@': 2, '#': 3}) {}
---------**------------
1 2 (3, 4) {'@': 2, '#': 3}
1 2 (3, 4) {'@': 2, '#': 3}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python利用itchat庫向好友或者公眾號(hào)發(fā)消息的實(shí)例
今天小編就為大家分享一篇Python利用itchat庫向好友或者公眾號(hào)發(fā)消息的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02Python將list元素轉(zhuǎn)存為CSV文件的實(shí)現(xiàn)
這篇文章主要介紹了Python將list元素轉(zhuǎn)存為CSV文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11python的dict,set,list,tuple應(yīng)用詳解
這篇文章主要介紹了python的dict,set,list,tuple應(yīng)用詳解,需要的朋友可以參考下2014-07-07