python普通函數(shù)創(chuàng)建與調(diào)用
函數(shù)是一種僅在調(diào)用時(shí)運(yùn)行的代碼塊。您可以將數(shù)據(jù)(稱為參數(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á)式
舉個例子,我這邊手動實(shí)現(xiàn)一個計(jì)算兩個數(shù)平均值的函數(shù),這邊這樣子寫
def get_average(a, b):
'''
計(jì)算平均值
'''
result = (a + b)/2
return result
在定義函數(shù)的過程中,需要注意以下幾點(diǎn):
函數(shù)代碼塊以def
關(guān)鍵詞開頭,一個空格之后接函數(shù)標(biāo)識符名稱和圓括號(),再接個冒號。
任何傳入的參數(shù)必須放在圓括號中間。
函數(shù)的第一行語句后可以選擇性地使用文檔字符串—用于存放函數(shù)說明。
函數(shù)內(nèi)容以冒號起始,并且縮進(jìn)。
使用return,返回值給調(diào)用者,并結(jié)束函數(shù)。return 關(guān)鍵并不是必須要加,可根據(jù)實(shí)際需要決定是否要寫,若不寫的話,默認(rèn)返回None。
return語句依然在函數(shù)體內(nèi)部,不能回退縮進(jìn)。直到函數(shù)的所有代碼寫完,才回退縮進(jìn),表示函數(shù)體結(jié)束。
2. 函數(shù)的調(diào)用
函數(shù)編寫出來就是給人調(diào)用的。要調(diào)用一個函數(shù),必須使用函數(shù)名后跟圓括號的方式才能調(diào)用函數(shù)。
調(diào)用的同時(shí)要根據(jù)函數(shù)的定義體,提供相應(yīng)個數(shù)和類型的參數(shù),每個參數(shù)之間用逗號分隔。
def get_average(a, b):
'''
計(jì)算平均值
'''
result = (a + b)/2
return result
average = get_average(2, 6)
print(average) # output: 4
4. 函數(shù)的返回
函數(shù)的返回值,可以是多種多樣的,非常靈活:
可以是任意類型的對象,比如字符串,數(shù)值,列表,字典等等
def demo_func():
return 10
可以是一個表達(dá)式,函數(shù)會直接運(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)
另外還可以返回多個值
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文章
4327瀏覽量
62569 -
代碼
+關(guān)注
關(guān)注
30文章
4779瀏覽量
68521 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84627
發(fā)布評論請先 登錄
相關(guān)推薦
評論