【人生苦短 Python當歌】——Python函數式編程01

    對Python有必定了解的人應該知道,Python並非一門函數式編程語言,而是一門支持多種範式的語言,這也使得在Python中也能實現函數式編程,程序員

    對於學習到Python函數式編程的朋友,在這裏推薦你們看一本名字叫《Python函數式編程》(Functional Programming in Python)從這本書中你應該能收穫很多;編程

    怎麼說呢,函數是Python內建支持的一種封裝,咱們經過把大段代碼拆成函數,經過一層一層的函數調用,就把複雜的任務分解成簡單的任務,這種就稱爲面向過程的程序設計,函數就是面向過程的程序設計的基本單元。app

  首先看一個例子:計算斐波那契數列(任一個數都是前兩個數之和的數字序列)編程語言

 

1 fibs=[0,1]
2 num =input('How many Fibonacci do you want?')
3 for i in range(num-2):
4     fibs.append(fibs[-2]+fibs[-1])
5 print(fibs)

  從上面的例子應該能明白,程序員都很懶的,重複的問題應該以一種抽象的方式去解決;函數式編程

  Python中函數主要學習如下幾個方面:函數

1.如何定義學習

2.文檔化函數spa

3.參數魔法(參數傳遞、關鍵字參數、收集參數、參數收集逆過程)設計

4.做業域code

5.遞歸

6.函數式編程(lambda表達式、map函數、filter函數、reduce函數、partial、Groupby、Compose、Currying)

    map(func,seq [, seq.....])    

    filter(func,seq)  

    reduce(func,seq[, initial])   

    sum(seq)

    apply(func[,   args[,  kwargs]])

 1.Python中函數使用def語句定義

def hello(name):
    return 'Hello.'+name+'!'

2.文檔化函數

def square(x):
    'Calculates the square of the number x.'
    return x*x
相關文章
相關標籤/搜索