關鍵字 (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) |
$ |
相關教學影片