變量可以指向函數(shù)
函數(shù)本身也可以賦值給變量,即:變量可以指向函數(shù)
>>> f = abs
>>> f(-10)
10
說明變量f現(xiàn)在已經(jīng)指向了abs函數(shù)本身。直接調(diào)用abs()函數(shù)和調(diào)用變量f()完全相同。
函數(shù)名也是變量
由于abs函數(shù)實際上是定義在import builtins模塊中的,所以要讓修改abs變量的指向在其它模塊也生效,要用import builtins; builtins.abs = 10 #here take 10 as example.
傳入函數(shù)
既然變量可以指向函數(shù),函數(shù)的參數(shù)能接收變量,那么一個函數(shù)就可以接收另一個函數(shù)作為參數(shù),這種函數(shù)就稱之為高階函數(shù)。
一個最簡單的高階函數(shù):
def add(x, y, f): return f(x) + f(y)