Python中的Function定義方法第2/2頁
更新時(shí)間:2009年09月25日 14:57:30 作者:
Python中,函數(shù)是可被重用的程序段。對(duì)于函數(shù)的定義,可以使用def關(guān)鍵字。
對(duì)于變量z,它就是nonlocal級(jí)別的。如果在inner中需要使用z,則需要使用nonlocal關(guān)鍵字進(jìn)行聲明。
講完了變量的作用范圍,就該講講函數(shù)的參數(shù)問題了。 Python中的函數(shù)可以0-n個(gè)參數(shù),這和其他編程語言一樣沒有什么特別之處。同樣的,可以為函數(shù)參數(shù)指定默認(rèn)值。例如:
復(fù)制代碼 代碼如下:
def power(num,power = 1):
print(num ** power)
power(2)
power(2,2)
#*************
#運(yùn)行結(jié)果
2
4
對(duì)于第一次調(diào)用power(2),并沒有指定第二個(gè)參數(shù)power的值,根據(jù)輸出結(jié)果可知,函數(shù)使用了默認(rèn)值。第二次調(diào)用power(2,2),因?yàn)榻o定了第二個(gè)參數(shù)的值,所以,power的值為2。
在這里需要注意的是,在python中,對(duì)于給你默認(rèn)值的參數(shù),一定要在參數(shù)列表的最后。也就是說,在參數(shù)列表中,如果出現(xiàn)了給定默認(rèn)值的參數(shù)后,就不能在出現(xiàn)沒有給定默認(rèn)值的參數(shù)。
對(duì)于參數(shù)賦值,可以使用關(guān)鍵字的方式賦值。例如:
復(fù)制代碼 代碼如下:
def func(a,b=1,c=2):
print('a={0},b={1},c={2}'.format(a,b,c))
func(1)
func(1,2)
func(1,c=3)
func(b=2,a=4)
#*************
#運(yùn)行結(jié)果
a=1,b=1,c=2
a=1,b=2,c=2
a=1,b=1,c=3
a=4,b=2,c=2
可以通過指定參數(shù)名稱來對(duì)參數(shù)進(jìn)行賦值。
Python支持可變參數(shù)列表,首先看下面的程序:
復(fù)制代碼 代碼如下:
def total(initial=5,*numbers,**keywords):
count = initial
for number in numbers:
count += number
for key in keywords:
count += keywords[key]
return count
print(total(10,1,2,3,vegetables=10,fruits=5))
#***************
#運(yùn)行結(jié)果
31
在上述程序中,值得關(guān)注的是*numbers和**keywords。在程序中,第一個(gè)參數(shù)10對(duì)應(yīng)第一個(gè)initial參數(shù)。接下來就是可變參數(shù)列表:其中1,2,3是一個(gè)序列,vegetables=10,fruits=5是字典。在Python中,*numbers表示的是:將1,2,3等或者更多的參數(shù)放入這個(gè)序列中;**keywords表示的是:將vegetables=10等或者更多的參數(shù)放入字典中。
您可能感興趣的文章:
相關(guān)文章
python利用pyttsx3 API實(shí)現(xiàn)文本轉(zhuǎn)語音處理
這篇文章主要為大家詳細(xì)介紹了Python如何利用pyttsx3 API實(shí)現(xiàn)文本轉(zhuǎn)語音處理,文中有詳細(xì)的示例代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06
Python實(shí)現(xiàn)中文數(shù)字轉(zhuǎn)換為阿拉伯?dāng)?shù)字的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)中文數(shù)字轉(zhuǎn)換為阿拉伯?dāng)?shù)字的方法,涉及Python字符串遍歷、轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
django Model層常用驗(yàn)證器及自定義驗(yàn)證器詳解
這篇文章主要介紹了django Model層常用驗(yàn)證器及自定義驗(yàn)證器詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
python正則表達(dá)式完成車牌號(hào)檢驗(yàn)的代碼實(shí)例
這篇文章主要給大家介紹了關(guān)于python正則表達(dá)式完成車牌號(hào)檢驗(yàn)的相關(guān)資料,在Python中正則表達(dá)式是一種用于匹配和操作字符串的強(qiáng)大工具,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
python入門while循環(huán)語句理解學(xué)習(xí)
這篇文章主要介紹了python入門while循環(huán)語句理解學(xué)習(xí),文中附含詳細(xì)圖文示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
python實(shí)現(xiàn)事件驅(qū)動(dòng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)事件驅(qū)動(dòng)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
pygame實(shí)現(xiàn)井字棋之第三步邏輯優(yōu)化
這篇文章主要介紹了pygame實(shí)現(xiàn)井字棋之第三步邏輯優(yōu)化,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們也有非常好的幫助,需要的朋友可以參考下2021-05-05
Python設(shè)計(jì)模式結(jié)構(gòu)型享元模式
這篇文章主要介紹了Python享元模式,享元模式即Flyweight Pattern,指運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象,下面和小編一起進(jìn)入文章了解更多詳細(xì)內(nèi)容吧2022-02-02

