Python函数中的参数(一)
函數(shù)傳遞參數(shù)時(shí)的簡(jiǎn)要關(guān)鍵點(diǎn):
1、參數(shù)的傳遞是通過(guò)自動(dòng)將對(duì)象賦值給本地變量名來(lái)實(shí)現(xiàn)的。函數(shù)參數(shù)在實(shí)際中只是Python賦值的一個(gè)實(shí)例。因?yàn)橐檬且灾羔樀男问綄?shí)現(xiàn)的,所有的參數(shù)實(shí)際上都是通過(guò)指針進(jìn)行傳遞的。
2、在函數(shù)內(nèi)部的參數(shù)名的賦值不會(huì)影響調(diào)用者。
3、改變函數(shù)的可變對(duì)象參數(shù)的值也許會(huì)對(duì)調(diào)用者有影響。即是參數(shù)是簡(jiǎn)單的賦值給傳入的對(duì)象,函數(shù)能夠就地改變傳入的可變對(duì)象,因此其結(jié)果會(huì)影響調(diào)用者。可變參數(shù)對(duì)于函數(shù)來(lái)說(shuō)是可以做輸入和輸出的。
?
對(duì)可變對(duì)象的在原處的修改會(huì)影響其他引用了該對(duì)象的變量。
如果不想要函數(shù)內(nèi)部在原處的修改影響傳遞給它的對(duì)象,我們可以簡(jiǎn)單的創(chuàng)建一個(gè)明確地可變對(duì)象的拷貝;
1 L = [1,2] 2 b = L[:] #b即是對(duì)L的拷貝
參數(shù)匹配模型大綱:
1、位置:從左至右匹配??? 一般情況下,也是我們迄今為止最常使用的方法,是通過(guò)位置進(jìn)行匹配把參數(shù)值傳遞給函數(shù)頭部的參數(shù)名稱,匹配順序?yàn)閺淖蟮接摇?/p>
2、關(guān)鍵字參數(shù):通過(guò)參數(shù)名進(jìn)行匹配?? 調(diào)用者可以定義哪一個(gè)函數(shù)接受這個(gè)值,通過(guò)在調(diào)用時(shí)使用參數(shù)的變量名,使用name = value 這樣的語(yǔ)法。
3、默認(rèn)參數(shù):為沒(méi)有傳入值得參數(shù)定義參數(shù)值?? 如果調(diào)用時(shí)傳入的值過(guò)于少的話,函數(shù)能夠?yàn)閰?shù)定義接受的默認(rèn)值,再一次使用語(yǔ)法name=value。
4、可變參數(shù):收集任意多給予位置或關(guān)鍵字的參數(shù)?? 函數(shù)能夠使用特定的參數(shù),他們是以字符*開(kāi)頭,收集任意多的額外參數(shù)。
5、可變參數(shù)解包:傳遞任意多的給予位置或關(guān)鍵字的參數(shù)?? 調(diào)用者能夠再使用*語(yǔ)法去將參數(shù)集合打散,分成參數(shù)。這個(gè)*與在函數(shù)頭部的*恰恰相反,在函數(shù)頭部它意味著收集任意多的參數(shù),而在調(diào)用者中意味著傳遞任意多的參數(shù)。
6、keyword-only參數(shù):參數(shù)必須按照名稱傳遞
?
轉(zhuǎn)載于:https://www.cnblogs.com/dgq-blog/p/6224245.html
總結(jié)
以上是生活随笔為你收集整理的Python函数中的参数(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 求一个武侠好听的名字!
- 下一篇: 防褥疮气垫床多少钱有人了解吗?