天天看點

Python基礎:函數傳回值 & return

文章目錄

    • 函數傳回值
      • 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
           

繼續閱讀