這邊先介紹一個Python的功能,『函數式編程』(functional programming),他的意思就是將函數當成參數包在另外一個參數裡面,例如有一個系統內建函數: abs,這是輸出一個絕對值的value,今天有一個使用者自訂函數: add2(x,y,abs)
ex:
def add2(x,y,abs):
return abs(x)+abs(y)
a=add2(2,3,abs)
print(a) #5
這邊可以看到abs作為一個函式的參數,成為另外一個函式add2的參數之一,這是一種高度抽象的程式編寫方法,至於執行效率自然比低階語言差,這是一定的,至於差哪邊不是這樣要筆記,有空去看計算機概論 / 結構。
實際上在add2的函式中,計算過程是這樣
add2(2,3,abs)
=> abs(2)=2
=> abs(3)=3
return 2+3 #5
沒有留言:
張貼留言