久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python函數(shù)傳參詳解

 youxd 2016-12-29

Python 中使用 def 來定義函數(shù)。依次是 def 函數(shù)名,、括號,、括號中的參數(shù)及結(jié)尾的冒號,另起一行縮進寫函數(shù)體,函數(shù)的返回值用 return 語句返回,。

如:

def func(參數(shù)):

函數(shù)體

return

調(diào)用函數(shù)時會對傳入的參數(shù)進行自動檢查,,包括參數(shù)的類型及參數(shù)的數(shù)量,如果不符合要求會拋出 TypeError 異常,。

參數(shù)的類型可分為:

1,、必選參數(shù)

2、默認參數(shù)

3,、可變參數(shù)

4,、關(guān)鍵字參數(shù)

函數(shù)中的參數(shù)順序一定要按以上順序排列。

下面通過示例來更好的理解函數(shù)的各類參數(shù):

定義函數(shù)

>>> def func(hostname,os='CentOS',*role,**other):

... print('Hostname : %s\nOS : %s\nRole : %s\nOther : %s'%(hostname,os,role,other))

...

>>>

其中 hostname 為必選參數(shù),,os為默認參數(shù),,role為可變參數(shù),other為關(guān)鍵字參數(shù),。

*和**分別為可變參數(shù)和關(guān)鍵字參數(shù)前綴,,可變參數(shù)類型為列表或元組,關(guān)鍵字參數(shù)類型為字典。

演示:

1,、

>>> func('web1')

Hostname : web1

OS : CentOS

Role : ()

Other : {}

>>>

調(diào)用之前定義的 func 函數(shù),,并傳入'web1'必選參數(shù)。在輸出的結(jié)構(gòu)中 OS 顯示為默認的 CentOS,。

2,、

>>> func('web2','ubuntu')

Hostname : web2

OS : ubuntu

Role : ()

Other : {}

>>>

調(diào)用之前定義的 func 函數(shù),并傳入'web2'必選參數(shù),,默認參數(shù)用 'ubuntu' 替換,。

3、

>>> func('db-1','redhat','MySQL','Redis')

Hostname : db-1

OS : redhat

Role : ('MySQL', 'Redis')

Other : {}

>>>

調(diào)用之前定義的 func 函數(shù),,并傳入必選參數(shù),,默認參數(shù),以及兩個可變參數(shù),??勺儏?shù)類型可以為列表或元組,,如下:

>>> func('db-1','redhat',*['MySQL','Redis'])

Hostname : db-1

OS : redhat

Role : ('MySQL', 'Redis')

Other : {}

>>>

>>> func('db-1', 'redhat',*('MySQL', 'Redis'))

Hostname : db-1

OS : redhat

Role : ('MySQL', 'Redis')

Other : {}

>>>

當傳入的可變參數(shù)是列表或元組時要在前加上*,對應(yīng)的結(jié)果輸出為元組,。

4,、

>>> func('db-3', 'redhat','MySQL', 'Redis', ip='172.16.100.3')

Hostname : db-3

OS : redhat

Role : ('MySQL', 'Redis')

Other : {'ip': '172.16.100.3'}

>>>

>>> func('db-3', 'redhat','MySQL', 'Redis', ip='172.16.100.3', m_port=3307)

Hostname : db-3

OS : redhat

Role : ('MySQL', 'Redis')

Other : {'ip': '172.16.100.3', 'm_port': 3307}

>>>

>>> func('db-3', 'redhat','MySQL', 'Redis', **{'ip' : '172.16.100.3', 'm_port' : 3307})

Hostname : db-3

OS : redhat

Role : ('MySQL', 'Redis')

Other : {'ip': '172.16.100.3', 'm_port': 3307}

>>>

調(diào)用之前定義的 func 函數(shù),并傳入必選參數(shù),,默認參數(shù),,兩個可變參數(shù)及關(guān)鍵字參數(shù)。

當傳入的關(guān)鍵字參數(shù)是字典時要在前加上**,,對應(yīng)的結(jié)果輸出為字典,。

當然以上測試中的列表、元組及字典可以先定義再引用:

>>> db_3_o={'ip' : '172.16.100.3', 'm_port' : 3307}

>>> db_3_r=['MySQL', 'Redis']

>>> func('db-3', 'redhat',*db_3_r, **db_3_o)

Hostname : db-3

OS : redhat

Role : ('MySQL', 'Redis')

Other : {'ip': '172.16.100.3', 'm_port': 3307}

>>>

原文地址:http://www./error/108-1-1.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多