文章目錄
-
- 函數傳回值
-
- return
- 單個傳回值
- 多個傳回值
- 函數的傳回值是一個函數
函數傳回值
return
函數體中 return 語句有指定傳回值時傳回的就是其值.
函數體中沒有 return 語句時,函數運作結束會隐含傳回一個 None 作為傳回值,類型是 NoneType,與 return 、return None 等效,都是傳回 None。
前文我們講到了 “自定義函數及函數基本使用”,
連結為:https://blog.csdn.net/weixin_42250835/article/details/86761960#commentsedit
現在,我們再來講一講,函數的傳回值 “return”
前文我們講的函數及調用是這個樣子的
def func1():
print("函數被調用")
f = func1() #調用函數
print(f)
print(type(f)) #因為傳回的函數沒有值,是以列印輸出結果為<class 'NoneType'>
現我們使用 return 來檢視函數的傳回值
單個傳回值
#單個傳回值
def func2(p):
return p
f = func2(1)
print(f)
print(type(f))
多個傳回值
#多個傳回值
def func3():
z = x + y
return z
f = func3()
print(f)
print(type(f)) #多個傳回值傳回的類型為元組 <class 'tuple'>
無論定義的是傳回什麼類型,return 隻能傳回單值,但值可以存在多個元素。
return [1,3,5] 是指傳回一個清單,是一個清單對象,1,3,5 分别是這個清單的元素
return 1,3,5 看似傳回多個值,隐式地被Python封裝成了一個元祖傳回
函數的傳回值是一個函數
#函數的傳回值是一個函數
def func4():
if x == 2:
def inner_func(y):
return y * y
if x == 3:
def inner_func(y):
return y * y * y
return inner_func #當函數作為傳回值的時候,隻傳名稱
#return inner_func() #這是一個錯誤的函數作為函數傳回值的示範
calc = func4(2) #calc 雖然是一個變量名,但是當func4()運作完之後,它就是一個函數了
z = calc(5)
print(z) #列印輸出結果為 25