復(fù)習(xí)一下函數(shù)參數(shù)匠童。
首先,要知道函數(shù)的參數(shù)有哪幾種類型。
- 默認(rèn)參數(shù)
- 關(guān)鍵字參數(shù)
- 位置參數(shù)
- 包裹參數(shù)(*, **)
常見的就這么4種撰茎,它們調(diào)用時(shí)分別是這樣的:
- 默認(rèn)參數(shù)
def func(name='nzh', age=25): # 這是定義函數(shù)時(shí)的樣子
調(diào)用直接func(),參數(shù)默認(rèn)name就是‘nzh’打洼,age是25龄糊。
說(shuō)白了,就是在定義函數(shù)時(shí)給參數(shù)賦默認(rèn)值募疮。 - 關(guān)鍵字參數(shù)
調(diào)用時(shí):func(name='nzh', age=25)
就是在傳值的時(shí)候炫惩,在函數(shù)內(nèi)賦值。 - 位置參數(shù)
定義:def func(nage, age): pass
調(diào)用:func('nzh', 25) - 包裹參數(shù)
一開始是費(fèi)解阿浓,因?yàn)槲抑恢?em>代表含有多個(gè)參數(shù)的元組(并不需要多個(gè)他嚷,但是要個(gè)定義時(shí)的參數(shù)列表相對(duì)應(yīng))。代表字典芭毙。
其實(shí)知道這些就差不多了爸舒。看一下用法就明白了稿蹲。
比如定義了一個(gè)函數(shù):
def hello(name, age):
print("name is " + name + ", " + "age is " + str(age))
在使用函數(shù)時(shí)扭勉,我們可以把參數(shù)打包,什么意思呢苛聘?就是傳入一個(gè)元組或者字典涂炎。
比如我想傳入的是一個(gè)元組,那就先定義一個(gè)元組设哗,把參數(shù)放到元組里唱捣。
info = ('nzh', 25)
然后調(diào)用函數(shù),傳參數(shù)网梢。
hello(info) # 因?yàn)槟銈鞯氖窃嬲痃裕杂?
還有最重要的一點(diǎn),一一對(duì)應(yīng)战虏,定義函數(shù)時(shí)拣宰,參數(shù)列表只有name和age兩個(gè)參數(shù),你的元組也就只能有2個(gè)參數(shù)烦感。
字典傳參數(shù)巡社?看完了元組,舉一反三唄手趣。
同樣是hello函數(shù)晌该,我在使用前為參數(shù)創(chuàng)建一個(gè)字典
info_dict = {"name": "nzh", "age": 25}
同樣,調(diào)用,傳參朝群。
hello(**info_dict)
簡(jiǎn)單吧燕耿?但是字典的鍵一定要正確,比如name寫成了name2姜胖,就會(huì)報(bào)錯(cuò)缸棵,如圖:
image.png