『無為則無心』Python函數 — 27、Python函數的返回值
- 2021 年 7 月 12 日
- 筆記
- 測試基礎必會技能 - Python基礎
1、返回值概念
例如:我們去超市購物,比如買飲料,給錢之後,是不是售貨員會返回給我們飲料這個商品。在函數中,如果需要返回結果給用戶,就需要使用函數返回值。
換句話說,返回值就是函數執行以後返回的結果。
def buy():
# return返回結果給函數調用的地方
return '煙'
# 使用變量保存函數返回值
goods = buy()
print(goods)
2、return關鍵字的作用
- 負責函數返回值。
- 退出當前函數:導致
return
下方的所有代碼(函數體內部)不執行。
示例如下:
需求:製作一個計算器,計算任意兩數字之和,並保存結果。
def sum_num(a, b):
return a + b
# 用result變量保存函數返回值
result = sum_num(1, 2)
print(result)
3、返回值可以返回的數據類型
return
後邊跟什麼值,函數就會返回什麼值。
return
後邊可以跟任意的對象,返回值甚至可以是一個函數。
# 示例1:可以返回任何對象
def fn():
return 123 # 123
# return 'Hello' # Hello
# return [1,2,3] # [1, 2, 3]
# return {'k':'v'} # {'k': 'v'}
r = fn()
print(r)
# 2.返回一個函數
def fn():
def fn2():
print('hello')
return fn2
r = fn()
# 結果:<function fn.<locals>.fn2 at 0x0000000002C24828>
print(r)
# 也可以直接調用整個函數
# 結果:hello
r()
# 3.如果僅僅寫一個return 或者 不寫return,
# 則相當於return None
def fn2():
a = 10
return
r = fn2()
print(r) # None
4、函數如何返回多個值
思考:如果一個函數如些兩個return
,程序如何執行?
如下所示:
def return_num():
return 1
return 2
result = return_num()
print(result) # 1
答:只執行了第一個return
,原因是因為return
可以退出當前函數,導致函數中return
下方的代碼都不執行,return
一旦執行函數自動結束。
思考:如果一個函數要有多個返回值,該如何書寫代碼?
def return_num():
return 1, 2
# 返回一個元組
result = return_num()
print(result) # (1, 2)
注意:
return a, b
寫法,返回多個數據的時候,默認是元組類型。return
後面可以連接列表、元組或字典,以返回多個值。
示例:
def return_num():
# 直接返回一個元組
# return (1, 2) # (1, 2)
# 直接返回一個列表
# return [100, 200] # [100, 200]
# 直接返回一個字典
return {'name': 'Python', 'age': 30}
result = return_num()
print(result) # {'name': 'Python', 'age': 30}
5、fn5
和 fn5()
的區別
def fn5():
return 10
print(fn5) # <function fn5 at 0x00000000029D5798>
print(fn5()) # 10
fn5
是函數對象,打印fn5
實際是在打印函數對象<function fn5 at 0x05771BB8>
。fn5()
是在調用函數,打印fn5()
實際上是在打印fn5()
函數的返回值 10。
6、總結:
break
:用來退出當前循環。continue
:用來跳過當次循環。return
:用來結束函數。