函數傳回值

透過上面的學習,可以知道透過 return [表達式] 語句用於退出函數,選擇性地向呼叫方傳回一個表達式。不帶參數值的 return 語句傳回 None。

具體範例:

# -*- coding: UTF-8 -*-
def sum(num1,num2):
# 两数之和
if not (isinstance (num1,(int ,float)) and isinstance (num2,(int ,float))):
raise TypeError('参数类型错误')
return num1+num2
print(sum(1,2))

傳回結果:

3

這個範例,也透過內建函數isinstance()進行資料類型檢查,檢查呼叫函數時參數是否為整形和浮點型。如果參數類型不對,會報錯,提示參數類型錯誤,如圖:

0e9e6ae31e6784276640122f0ec93c3.png

#當然,函數也可以傳回多個值,具體實例如下:

# -*- coding: UTF-8 -*-
def  division ( num1, num2 ):
# 求商与余数
         a = num1 % num2
         b = (num1-a) / num2
         return b , a
num1 , num2 = division(9,4)
tuple1 = division(9,4)
print (num1,num2)
print (tuple1)

輸出的值:

2.0 1
(2.0, 1)

認真觀察就可以發現,儘管從第一個輸出值來看,返回了多個值,實際上是先創建了一個元組然後返回的。回想一下,元組是可以直接用逗號來創建的,觀察例子中的 ruturn ,可以發現實際上我們使用的是逗號來產生一個元組。

繼續學習