日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python函數(shù)中定義參數(shù)的四種方式

系統(tǒng) 1704 0

Python中函數(shù)參數(shù)的定義主要有四種方式:

1. F(arg1,arg2,…)

這是最常見的定義方式,一個(gè)函數(shù)可以定義任意個(gè)參數(shù),每個(gè)參數(shù)間用逗號(hào)分割,用這種方式定義的函數(shù)在調(diào)用的的時(shí)候也必須在函數(shù)名后的小括號(hào)里提供個(gè)數(shù)相等
的值(實(shí)際參數(shù)),而且順序必須相同,也就是說(shuō)在這種調(diào)用方式中,形參和實(shí)參的個(gè)數(shù)必須一致,而且必須一一對(duì)應(yīng),也就是說(shuō)第一個(gè)形參對(duì)應(yīng)這第一個(gè)實(shí)參。例如:

復(fù)制代碼 代碼如下:

def a(x,y):print x,y

調(diào)用該函數(shù),a(1,2)則x取1,y取2,形參與實(shí)參相對(duì)應(yīng),如果a(1)或者a(1,2,3)則會(huì)報(bào)錯(cuò)。

2. F(arg1,arg2=value2,…)

這種方式就是第一種的改進(jìn)版,提供了默認(rèn)值,例如:

復(fù)制代碼 代碼如下:

def a(x,y=3):print x,y

調(diào)用該函數(shù),a(1,2)同樣還是x取1,y取2,但是如果a(1),則不會(huì)報(bào)錯(cuò)了,這個(gè)時(shí)候x還是1,y則為默認(rèn)的3。上面這倆種方式,還可以更換參數(shù)位置,比如a(y=4,x=3)用這種形式也是可以的。

3. F(*arg1)

上面兩種方式是有多少個(gè)形參,就傳進(jìn)去多少個(gè)實(shí)參,但有時(shí)候會(huì)不確定有多少個(gè)參數(shù),則此時(shí)第三種方式就比較有用,它以一個(gè)*加上形參名的方式來(lái)表示這個(gè)函
數(shù)的實(shí)參個(gè)數(shù)不定,可能為0個(gè)也可能為n個(gè)。注意一點(diǎn)是,不管有多少個(gè),在函數(shù)內(nèi)部都被存放在以形參名為標(biāo)識(shí)符的元組中。

復(fù)制代碼 代碼如下:

def a(*x):print x

            
>>> a(1,2,3)
(1, 2, 3)
>>> a(x=1,y=2,z=3)
Traceback (most recent call last):
 File "
            
              ", line 1, in 
              
                
TypeError: a() got an unexpected keyword argument 'x'
              
            
          

4. F(**arg1)


形參名前加兩個(gè)*表示,參數(shù)在函數(shù)內(nèi)部將被存放在以形式名為標(biāo)識(shí)符的dictionary中,這時(shí)調(diào)用函數(shù)的方法則需要采用arg1=value1,arg2=value2這樣的形式。

復(fù)制代碼 代碼如下:

def a(**x):print x

            
>>> a(x=1,y=2,z=3)
{'y': 2, 'x': 1, 'z': 3} #存放在字典中
>>> a(1,2,3) #這種調(diào)用則報(bào)錯(cuò)
Traceback (most recent call last):
 File "
            
              ", line 1, in 
              
                
TypeError: a() takes exactly 0 arguments (3 given)
              
            
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 察隅县| 石楼县| 通渭县| 泽州县| 保康县| 兴文县| 哈巴河县| 长武县| 莱芜市| 资源县| 吉隆县| 咸丰县| 津南区| 双江| 武威市| 吉安县| 杂多县| 淅川县| 固原市| 抚顺县| 罗定市| 长阳| 会理县| 余姚市| 海安县| 田林县| 南木林县| 理塘县| 托克逊县| 奇台县| 北海市| 丰县| 任丘市| 女性| 河源市| 和政县| 观塘区| 云安县| 玛沁县| 两当县| 全椒县|