Python 速查手冊

4.3 簡單陳述 return

關鍵字 (keyword) 用在函數 (function) 或方法 (method) 中回傳數值,這是說如果函數或方法需要回傳值 (return value) 的話,就要加上 return 陳述,基本上函數或方法只會回傳一個數值。

如果關鍵字 return 在函數或方法外的地方出現,會出現 return 在函數外的錯誤,例如

return

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:return01.py
# 功能:示範 return 陳述
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 return01.py
  File "return01.py", line 1
    return
    ^
SyntaxError: 'return' outside function
$

return 後可以接任何的數值,此例 get_10() 函數回傳整數 10

def get_10():
    return 10

print(get_10())

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:return02.py
# 功能:示範 return 陳述
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 return02.py
10
$

return 也可以直接回傳參數 (parameter) ,此例 get_p() 以整數 5 當參數,就回傳整數 5

def get_p(p):
    return p

print(get_p(5))

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:return03.py
# 功能:示範 return 陳述
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 return03.py
5
$

return 通常用來回傳函數或方法定義的區域變數 (local variable) ,或是計算結果,此例 get_a() 回傳區域變數 a

def get_a():
    a = 0
    return a

print(get_a())

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:return04.py
# 功能:示範 return 陳述
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 return04.py
0
$

return 後可以是任意運算式 (expression) ,最後回傳的是運算式的結果

def get_a2():
    a = 0
    return a + 1

print(get_a2())

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:return05.py
# 功能:示範 return 陳述
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 return05.py
1
$

如果函數或方法內只寫 return 是合法的,那就是把控制權交還給呼叫方

def get_r():
    return

get_r()

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:return06.py
# 功能:示範 return 陳述
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 return06.py
$

基本上 return 只會回傳一個數值,此例 get_two() 回傳以逗號區隔的兩個整數 1 ,實際上回傳的是一個序對 (tuple) 物件,也就是單一數值

def get_two():
    return 1, 1

print(get_two())

#《程式語言教學誌》的範例程式
# http://kaiching.org/
# 檔名:return07.py
# 功能:示範 return 陳述
# 作者:張凱慶

於命令列執行以上程式,結果如下

$ python3 return07.py
(1, 1)
$

上一頁: 4.2 簡單陳述 pass
Python 速查手冊 - 目錄
下一頁: 4.4 簡單陳述 raise
回 Python 教材首頁