1、返回值概念

例如:我們去超市購物,比如買飲料,給錢之後,是不是售貨員會返回給我們飲料這個商品。在函式中,如果需要返回結果給使用者,就需要使用函式返回值。

換句話說,返回值就是函式執行以後返回的結果。

def buy():
# return返回結果給函式呼叫的地方
return '煙' # 使用變數儲存函式返回值
goods = buy()
print(goods)

2、return關鍵字的作用

  1. 負責函式返回值。
  2. 退出當前函式:導致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)

注意:

  1. return a, b寫法,返回多個數據的時候,預設是元組型別。
  2. 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、fn5fn5()的區別

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:用來結束函式。