日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

python 引用傳遞和值傳遞詳解(實參,形參)

瀏覽:28日期:2022-07-22 16:37:15

python中函數(shù)參數(shù)是引用傳遞(不是值傳遞)。對于不可變類型,因變量不能被修改,所以運算時不會影響到變量本身;而對于可變類型來說,函數(shù)體中的運算有可能會更改傳入的參數(shù)變量.

python 引用傳遞和值傳遞詳解(實參,形參)

python 引用傳遞和值傳遞詳解(實參,形參)

形參: 函數(shù)需要傳遞的參數(shù)

實參:調(diào)用函數(shù)時傳遞的參數(shù)

補充知識:python函數(shù)方法實參給形參傳值時候的隱形‘陷阱’

眾所周知,在python函數(shù)里面參數(shù)分為形參,實參兩種。形參當(dāng)然了就是形式參數(shù),而實參是我們需要給這個函數(shù)傳入的變量,在我們給實參傳入變量之后,調(diào)用函數(shù),實參則自動會把數(shù)值或則變量賦予形參,從而通過函數(shù)得出我們想要的結(jié)果。既然形參是由實參賦值傳遞,所以說形參的位置順序至關(guān)重要,稍有疏忽,程序可能就會出錯。那么下面就來幫大家在初學(xué)的時候如何讓更好的避開這些隱形的陷阱。

首先,形參分為 必選參數(shù),默認參數(shù),可變參數(shù)(*args),命名關(guān)鍵字參數(shù),關(guān)鍵字參數(shù)(**kwargs)。

1.必選參數(shù)

傳值的時候,必須按照順序依次傳入數(shù)值

先寫一個下面的函數(shù):

def power(m, n): result=1 while n>0: n=n-1 result=result*m return result # 調(diào)用函數(shù)并輸出結(jié)果print(power(4,3))

在上面程序中,形參有兩個m,n,所以我們在傳入?yún)?shù)的時候,必須按照順序依次分別傳入?yún)?shù)

2.默認參數(shù)

在形參中直接給予賦值,調(diào)用時,不用賦值程序也能接收到這個參數(shù),當(dāng)然你調(diào)用時可以重新賦值,那程序接收的也是你重新賦值的參數(shù)。

def power(m, n=3): result=1 while n>0: n=n-1 result=result*m return result # 調(diào)用函數(shù)并輸出結(jié)果print(power(4))

這個程序里面,n就為默認參數(shù),我們在大部分時候使用默認參數(shù),就是因為它有能降低調(diào)用函數(shù)難度的好處。

3.可變參數(shù)

就是說我們在傳入?yún)?shù)的時候,傳入的參數(shù)超出了必選參數(shù),那么多余的參數(shù)就會被放入到一個元組里面,那么這些多余的參數(shù)就稱為可變參數(shù)*args

def power(*args): result=0 for n in args: result=result+n*n return result # 調(diào)用函數(shù)tupleArray=(1,2,3)# *tupleArray這種方式很常見,很重要print(power(*tupleArray))

這個應(yīng)該很好理解,比較簡單。

4.命名關(guān)鍵字參數(shù)

所謂的命名關(guān)鍵字參數(shù)就是在形參里面我們有一個對應(yīng)的形參符號,然后在傳入?yún)?shù)的時候,我們以形參符號賦值的形式傳入?yún)?shù),這樣做就是能讓我們避免因順序錯誤產(chǎn)生的程序錯誤。如這種形式:b=‘你好’

如果函數(shù)定義中已經(jīng)有了一個可變參數(shù),后面跟著的命名關(guān)鍵字參數(shù)就不再需要一個特殊分隔符*了:

def person(name, age, *args, city, job):

print(name, age, args, city, job)

5.關(guān)鍵字參數(shù)

關(guān)鍵字參數(shù)允許你傳入0個或任意個含參數(shù)名的參數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動組裝為一個dict。在調(diào)用函數(shù)時,可以只傳入必選參數(shù):

作用:擴展函數(shù)的功能 特征:**kw

def person(name, age, **kw):

print(’name:’, name, ’age:’, age, ’other:’, kw)

案例一:

person(’Michael’, 30)

name: Michael age: 30 other: {}

案例二:

#定義一個字典數(shù)據(jù)dictArray = {’city’: ’Beijing’, ’job’: ’Engineer’}#調(diào)用函數(shù)person(’Jack’, 24, **dictArray )#輸出結(jié)果name: Jack age: 24 other: {’city’: ’Beijing’, ’job’: ’Engineer’}

6.參數(shù)組合

參數(shù)組合就是說在命名函數(shù)的時候,形參可以包含必選參數(shù),默認參數(shù),可變參數(shù),命名關(guān)鍵字參數(shù),關(guān)鍵字參數(shù)。 但是在用這個五個參數(shù)的時候,一定一定要謹記,這個五個參數(shù)的傳入順序一定為 必選參數(shù),默認參數(shù),可變參數(shù),命名關(guān)鍵字參數(shù),關(guān)鍵字參數(shù)。否則 程序一定會出錯。

比如定義一個函數(shù),包含若干種參數(shù):

def f1(a, b, c=0, *args, **kw): print(’a =’, a, ’b =’, b, ’c =’, c, ’args =’, args, ’kw =’, kw) def f2(a, b, c=0, *, d, **kw): print(’a =’, a, ’b =’, b, ’c =’, c, ’d =’, d, ’kw =’, kw)

在函數(shù)調(diào)用的時候,Python解釋器自動按照參數(shù)位置和參數(shù)名把對應(yīng)的參數(shù)傳進去。

>>> f1(1, 2)a = 1 b = 2 c = 0 args = () kw = {}>>> f1(1, 2, c=3)a = 1 b = 2 c = 3 args = () kw = {}>>> f1(1, 2, 3, ’a’, ’b’)a = 1 b = 2 c = 3 args = (’a’, ’b’) kw = {}>>> f1(1, 2, 3, ’a’, ’b’, x=99)a = 1 b = 2 c = 3 args = (’a’, ’b’) kw = {’x’: 99}>>> f2(1, 2, d=99, ext=None)a = 1 b = 2 c = 0 d = 99 kw = {’ext’: None}

總結(jié):

1,Python的函數(shù)具有非常靈活的參數(shù)形態(tài),既可以實現(xiàn)簡單的調(diào)用,又可以傳入非常復(fù)雜的參數(shù)。

2,默認參數(shù)一定要用不可變對象,如果是可變對象,程序運行時會有邏輯錯誤!

3,要注意定義可變參數(shù)和關(guān)鍵字參數(shù)的語法:

*args是可變參數(shù),args接收的是一個tuple;

**kw是關(guān)鍵字參數(shù),kw接收的是一個dict。

4,以及調(diào)用函數(shù)時如何傳入可變參數(shù)和關(guān)鍵字參數(shù)的語法:

可變參數(shù)既可以直接傳入:func(1, 2, 3),又可以先組裝list或tuple,再通過*args傳入:func(*(1, 2, 3));

關(guān)鍵字參數(shù)既可以直接傳入:func(a=1, b=2),又可以先組裝dict,再通過**kw傳入:func(**{’a’: 1, ’b’: 2})。

5,使用*args和**kw是Python的習(xí)慣寫法,當(dāng)然也可以用其他參數(shù)名,但最好使用習(xí)慣用法。

6,命名的關(guān)鍵字參數(shù)是為了限制調(diào)用者可以傳入的參數(shù)名,同時可以提供默認值。

7,定義命名的關(guān)鍵字參數(shù)在沒有可變參數(shù)的情況下不要忘了寫分隔符*,否則定義的將是位置參數(shù)。

以上這篇python 引用傳遞和值傳遞詳解(實參,形參)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
在线日韩成人| 欧美美女一区| 丝袜美腿亚洲一区二区图片| 日韩精品2区| 色婷婷精品视频| 特黄毛片在线观看| 日韩久久电影| 欧美日一区二区| 99久久九九| 精品美女久久| 国产精品精品国产一区二区| 国际精品欧美精品| 精品一区二区三区的国产在线观看 | 国产精品99免费看| 黄色日韩精品| 一区二区电影在线观看| 日韩毛片网站| 美女精品久久| 波多野结衣久久精品| 久久精品av| 午夜在线精品| 美女av一区| 国产精品高清一区二区| 精品中文字幕一区二区三区四区| 精品一区二区三区免费看| 精品美女在线视频| 91精品一区二区三区综合在线爱| 欧美特黄视频| 日本亚洲欧美天堂免费| 国产精久久一区二区| 四虎成人av| 91久久久精品国产| 亚洲tv在线| 国产不卡av一区二区| 亚洲天堂久久| 日韩在线麻豆| 麻豆国产欧美日韩综合精品二区| 久久久久伊人| 欧美精选一区二区三区| 天堂久久av| 成人精品久久| 欧美粗暴jizz性欧美20| 亚洲精品精选| 久久伊人亚洲| 亚洲少妇自拍| 国产精品免费精品自在线观看| 国产精品久久久久久久免费观看| 精品一区欧美| 久久一区二区三区喷水| 午夜欧美视频| 尤物网精品视频| 亚洲欧洲日本mm| 偷拍亚洲精品| 黑森林国产精品av| 欧美专区18| 黄色网一区二区| 免费视频久久| 精品久久久亚洲| 制服诱惑一区二区| 国产精品99久久久久久董美香| 99精品美女| 国产日韩视频| 国产精品88久久久久久| 国产精品嫩模av在线| 欧美午夜不卡影院在线观看完整版免费| 欧美精品国产| 亚洲精品一区二区在线看| 婷婷综合国产| 国产专区一区| 欧美激情精品| 快she精品国产999| av免费不卡国产观看| 日韩福利视频导航| 国产精品7m凸凹视频分类| 久久中文字幕导航| 蜜臀av性久久久久蜜臀aⅴ四虎| av中文字幕在线观看第一页| 日韩高清欧美激情| 国产精品日韩| 91tv亚洲精品香蕉国产一区| 国产精品麻豆成人av电影艾秋| 欧美日韩一区二区国产| 91精品啪在线观看国产18 | 日韩av片子| 日韩成人精品一区二区三区 | 日韩视频网站在线观看| 日韩av一区二区三区| 亚洲一区二区三区四区五区午夜| 国语精品一区| 日韩在线成人| 美女日韩在线中文字幕| 亚洲a一区二区三区| 国产精品地址| 一区二区精彩视频| 天堂av在线| 麻豆91小视频| 日韩高清成人在线| 免费久久99精品国产| 久久麻豆精品| 激情综合五月| 国产精品主播| 亚洲精品欧美| 亚洲伊人精品酒店| 精品一区亚洲| 秋霞影院一区二区三区| 国产一区二区视频在线看| 91av一区| 嫩草伊人久久精品少妇av杨幂| 日韩av影院| 亚洲欧美久久久| 亚洲一级二级| 日韩视频1区| 亚洲国产成人二区| 亚洲天堂免费电影| 国产一区二区三区四区| 久久福利在线| 美女久久久久久 | 日韩高清在线观看一区二区| 9色精品在线| 国产一区欧美| 伊人久久在线| 亚洲黄色网址| sm久久捆绑调教精品一区| 不卡专区在线| 日韩不卡一区| 不卡一二三区| 日本韩国欧美超级黄在线观看| 亚洲涩涩在线| 激情婷婷欧美| 国产精品色网| 日韩影院免费视频| 综合激情婷婷| 91嫩草精品| 欧美黑人做爰爽爽爽| 久久精品国产网站| 欧美欧美黄在线二区| 国产日产精品_国产精品毛片 | 精品一区二区三区亚洲| 精品在线网站观看| 成人亚洲一区| 亚洲经典在线| 欧美日韩国产免费观看视频| 国产精品日韩精品在线播放| 另类欧美日韩国产在线| 久久精品免视看国产成人| 97国产精品| 日本精品影院| 国产精品91一区二区三区| 999久久久免费精品国产| 亚洲韩日在线| 免费看黄色91| 国产欧美激情| av在线最新| 欧美在线网站| 亚洲欧洲美洲国产香蕉| 欧美天堂在线| 精品国产乱码久久久| 亚洲性色av| 亚洲欧美日本日韩| 日本久久一区| 国产网站在线| 在线亚洲观看| 国产精品99久久久久久董美香| 国产精品久久免费视频| 不卡专区在线| 亚洲专区一区| 国产精品一在线观看| 国产成人精品一区二区免费看京| 不卡在线一区| 日韩精品1区2区3区| 国模精品一区| 好吊一区二区三区| 国产欧美视频在线| 国产精品高颜值在线观看| 亚洲欧美日韩综合国产aⅴ| 欧美精品国产一区| 成人欧美一区二区三区的电影| 欧美日韩精品一区二区三区在线观看| 免费久久久久久久久| 亚洲精品系列| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 婷婷成人基地| 欧美精品福利| 久久久久91| 日韩高清欧美激情| 鲁鲁在线中文| 最近国产精品视频| 免费福利视频一区二区三区| 亚洲精品自拍| 亚洲成人不卡| 欧美精品中文字幕亚洲专区| 久久青草久久| 国产探花一区在线观看| 香蕉国产精品| 久久中文在线| 亚洲最新av| 欧美日韩在线观看首页| 婷婷视频一区二区三区| 欧美日韩亚洲在线观看| 国产精品男女|