封裝、參數化與函式
有的時候,我們會重複地利用到一些常見的運算的組合,比如說我們考慮到計算五個整數的算數平均數:
result = (1+2+3+4+5)/5 # 符號 "/" 在 Python 裡面是 "除以" 的意思
當我們需要知道另外一組時,又要撰寫一次:
result = (1+1+1+1+1)/5
這樣不但沒效率,且在運算更複雜的時候會更令人心煩。
我們可以透過 封裝 的方式,將這些運算包裝起來,並且進行 參數化,使其成為一個可重複利用的函式:
result = avg(1,2,3,4,5)
result_2 = avg(1,1,1,1,1)
我們不再實際地撰寫這些運算,而是去呼叫包裝好的函式:
函式名稱(參數1,參數2,...)
透過 函式名稱 加上一個帶有參數的小括號,我們便能 呼叫 函式幫我們執行這些包裝好的運算,當然我們需要一些運算的材料,那就是我們稱之為 參數 的東西了。參數的數量視需要而定,也可以完全不需要參數,但是無論有沒有參數,呼叫函式時小括號總是要伴隨著函式名稱出現才行。
Python 中有需多內建好的函式,稱之為 built-in function (內建函式)。
比如我們可以用內建函式 abs
來計算絕對值:
>>> abs(-10)
10
>>> abs(2)
2
然而我們也可以自己包裝設計函式,不過那留到稍後一點在說明了。