函數傳回值
透過上面的學習,可以知道透過 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()進行資料類型檢查,檢查呼叫函數時參數是否為整形和浮點型。如果參數類型不對,會報錯,提示參數類型錯誤,如圖:
#當然,函數也可以傳回多個值,具體實例如下:
# -*- 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 ,可以發現實際上我們使用的是逗號來產生一個元組。