python知識點講解之 函式式程式設計

2021-09-26 01:35:28 字數 963 閱讀 2705

簡單的說,就是函式類似於變數,允許把函式本身作為引數傳入另乙個函式,還允許返回乙個函式。函式式程式設計包括高階函式、返回函式、匿名函式、裝飾器、偏函式五個知識點,本文主要介紹常見的高階函式。

map(func,sequence)     func表示接收函式物件,sequence是個序列(注意,不支援字典,所以這裡只寫序列),該函式的作用就是將func分別作用到sequence每個元素;若func有n個引數,則需有n個sequence,func引數每次取所有列表的同個位置。值得注意的是,該函式在3.x上返回的是迭代物件(2.x返回的是列表),所以如果要列印出來需要型別轉化

a = map(lambda x:x*x,[1,2,3])

print(list(a))

#[1,4,9]

c = map(lambda x,y:x+y,[1,2,3],[4,5,6])

print(list(c))

#[5,7,9]

reduce(func,sequence),必須接收兩個引數,把結果繼續和序列的下乙個元素做累積計算,在廖雪峰的**上看到他有乙個很有意思的例子,就是將字串轉化為整數的另類辦法:

# 在python3中如果使用reduce需要先導入

from functools import reduce

def fn(x, y):

return x * 10 + y

print(reduce(fn, [1, 3, 5, 7, 9]))

#13579

filter(func,sequence)用於過濾序列,與map作用機制一樣,只不過必須接收兩個引數,且該func必須能根據傳進去的引數返回乙個布林值,根據布林值決定該數留或不留。

a = [1,-6,5]

print(list(filter(lambda x:x>0,a)))

#[1, 5]

Python 函式知識點

1.函式的意思 函式是指對某一功能的封裝 2.函式的語法 def 函式名 函式體函式名 3.函式的返回值 return,當讀到return,不會繼續往下讀 1.如果沒有return,預設返回none 2.如果只有return,返回none 3.return 返回值,只返回乙個值 4.return 值...

Python關於拓撲排序知識點講解

對乙個有向無環圖 directed acyclic graph簡稱dag g進行拓撲排序,是將g中所有頂點排成乙個線性序列,使得圖中任意一對頂點u和v,若邊 u,v e g 則u 性序列 現在v之前。通常,這樣的線性序列稱為滿足拓撲次序 topologicalwww.cppcns.com order...

python函式知識點 二

目錄 一.函式物件 二.函式巢狀 三.命名空間與作用域 四.閉包函式 五.裝飾器 1.函式是第一類物件,即函式可以當作資料傳遞 1 可以被引用 2 可以當作引數傳遞 3 返回值可以是函式 3 可以當作容器型別的元素2.利用該特性,優雅的取代多分支的if 不然要是有很多個函式的話,就要寫很多個if e...