1. 程式人生 > >python學習之4函數式編程(廖雪峰)

python學習之4函數式編程(廖雪峰)

報錯 uil str log font abs col 輸出結果 都是

一、高階函數

1、變量可以指向函數

例如,python內置的求絕對值函數abs():

f=abs
print(f(-10))

輸出結果是10

2、函數名也是變量

任何函數名都是變量,如果對其賦值了,就不能再用於函數調用:

abs=10
print(abs(-8))    #abs指向10後,不能再用abs()來調用函數,會報錯

註意:由於abs函數實際上是定義在import builtins模塊中的,所以要讓修改abs變量的指向在其它模塊也生效,要用 import builtins; builtins.abs = 10

3、傳入函數

一個函數就可以接收另一個函數作為參數,這種函數就稱之為高階函數。例如:

def add(x, y, f):
    return f(x) + f(y)
a=add(-5,6,abs)
print(a)

輸出結果為11

二、map/reduce

python學習之4函數式編程(廖雪峰)