python基礎(chǔ)-函數(shù)參數(shù)

**1. 位置參數(shù): **
要求必須傳入的參數(shù),類似c語言中的普通參數(shù)
**2. 默認(rèn)參數(shù): **
在python中,定義函數(shù)的時(shí)候可以給函數(shù)參數(shù)一個(gè)默認(rèn)值(即:默認(rèn)參數(shù)),當(dāng)調(diào)用函數(shù)時(shí)不給默認(rèn)參數(shù)傳值,則該參數(shù)使用默認(rèn)值。
例:


Snip20170114_2.png

**3. 可變參數(shù): **
定義函數(shù)時(shí)聲明一個(gè)可變參數(shù),可以在調(diào)用函數(shù)的時(shí)候傳入多個(gè)參數(shù),而且參數(shù)個(gè)數(shù)隨機(jī)。

定義:

>>> def test2(*numbers): #numbers可類比c中數(shù)組名
...     for i in numbers:
...             print(i)

調(diào)用:

test2(1,2,3)  #輸出 1 2 3
nums=[1,2,3]
test2(*nums) #輸出也是1 2 3

**4. 關(guān)鍵字參數(shù): **
可變參數(shù)允許你傳入0個(gè)或任意個(gè)參數(shù),這些可變參數(shù)在函數(shù)調(diào)用時(shí)自動(dòng)組裝為一個(gè)tuple。而關(guān)鍵字參數(shù)允許你傳入0個(gè)或任意個(gè)含參數(shù)名的參數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動(dòng)組裝為一個(gè)dict
定義:

>>> def test3(**kw): //可類比c中的二級(jí)指針取值
...     print(kw)

使用:

>>> test3(city="guangzhou")
{'city': 'guangzhou'}
>>> test3(city="guangzhou",name="hanl")
{'city': 'guangzhou', 'name': 'hanl'}
>>> test3()
{}
>>> dic={'city': 'guangzhou', 'name': 'hanl'}
>>> test3(**dic)
{'city': 'guangzhou', 'name': 'hanl'}

**5. 命名關(guān)鍵字參數(shù): **
如果需要限制關(guān)鍵字參數(shù)的名字就需要使用命名關(guān)鍵字參數(shù)
定義:

#  *后面的參數(shù)被視為命名關(guān)鍵字參數(shù)
>>> def test3(name,*,city):
...     print(name)
...     print(city)

使用:

>>> test3('hanl',city='wuhan')
hanl
wuhan

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

>>> def test3(name,*args,city,age):
...     print(name,args,city,age)
...
>>> test3('hanl',1,1,2,city='wuhan',age=22)
hanl (1, 1, 2) wuhan 22
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容