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

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


Snip20170114_2.png

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

定義:

>>> 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個或任意個參數(shù),這些可變參數(shù)在函數(shù)調(diào)用時自動組裝為一個tuple。而關(guān)鍵字參數(shù)允許你傳入0個或任意個含參數(shù)名的參數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動組裝為一個dict
定義:

>>> def test3(**kw): //可類比c中的二級指針取值
...     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)有了一個可變參數(shù),后面跟著的命名關(guān)鍵字參數(shù)就不再需要一個特殊分隔符*了

>>> 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)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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