python普通函數(shù)創(chuàng)建與調(diào)用
函數(shù)是一種僅在調(diào)用時(shí)運(yùn)行的代碼塊。您可以將數(shù)據(jù)(稱(chēng)為參數(shù))傳遞到函數(shù)中,然后由函數(shù)可以把數(shù)據(jù)作為結(jié)果返回。
如果將函數(shù)比喻成蛋糕店的話,那么函數(shù)的參數(shù)就是生產(chǎn)蛋糕的原材料,而函數(shù)的返回值就是蛋糕成品。
1. 函數(shù)的創(chuàng)建
在 Python 中,使用 def 關(guān)鍵字定義函數(shù)
def 函數(shù)名(參數(shù)): # 內(nèi)部代碼 return 表達(dá)式
舉個(gè)例子,我這邊手動(dòng)實(shí)現(xiàn)一個(gè)計(jì)算兩個(gè)數(shù)平均值的函數(shù),這邊這樣子寫(xiě)
def get_average(a, b):
'''
計(jì)算平均值
'''
result = (a + b)/2
return result
在定義函數(shù)的過(guò)程中,需要注意以下幾點(diǎn):
函數(shù)代碼塊以def
關(guān)鍵詞開(kāi)頭,一個(gè)空格之后接函數(shù)標(biāo)識(shí)符名稱(chēng)和圓括號(hào)(),再接個(gè)冒號(hào)。
任何傳入的參數(shù)必須放在圓括號(hào)中間。
函數(shù)的第一行語(yǔ)句后可以選擇性地使用文檔字符串—用于存放函數(shù)說(shuō)明。
函數(shù)內(nèi)容以冒號(hào)起始,并且縮進(jìn)。
使用return,返回值給調(diào)用者,并結(jié)束函數(shù)。return 關(guān)鍵并不是必須要加,可根據(jù)實(shí)際需要決定是否要寫(xiě),若不寫(xiě)的話,默認(rèn)返回None。
return語(yǔ)句依然在函數(shù)體內(nèi)部,不能回退縮進(jìn)。直到函數(shù)的所有代碼寫(xiě)完,才回退縮進(jìn),表示函數(shù)體結(jié)束。
2. 函數(shù)的調(diào)用
函數(shù)編寫(xiě)出來(lái)就是給人調(diào)用的。要調(diào)用一個(gè)函數(shù),必須使用函數(shù)名后跟圓括號(hào)的方式才能調(diào)用函數(shù)。
調(diào)用的同時(shí)要根據(jù)函數(shù)的定義體,提供相應(yīng)個(gè)數(shù)和類(lèi)型的參數(shù),每個(gè)參數(shù)之間用逗號(hào)分隔。
def get_average(a, b):
'''
計(jì)算平均值
'''
result = (a + b)/2
return result
average = get_average(2, 6)
print(average) # output: 4
4. 函數(shù)的返回
函數(shù)的返回值,可以是多種多樣的,非常靈活:
可以是任意類(lèi)型的對(duì)象,比如字符串,數(shù)值,列表,字典等等
def demo_func():
return 10
可以是一個(gè)表達(dá)式,函數(shù)會(huì)直接運(yùn)行表達(dá)式,然后返回
def get_average(a, b):
return (a + b)/2
可以是函數(shù)本身,利用這點(diǎn)可以實(shí)現(xiàn)遞歸調(diào)用。
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
另外還可以返回多個(gè)值
def demo_func():
return 1,2.3
可以是其他函數(shù),利用這點(diǎn)可以實(shí)現(xiàn)裝飾器
def decorator(func):
def wrapper(*args, **kw):
return func()
return wrapper
審核編輯:湯梓紅
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4331瀏覽量
62633 -
代碼
+關(guān)注
關(guān)注
30文章
4788瀏覽量
68628 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84695
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論