Python 函式式程式設計 高階函式及內建函式

2021-10-04 18:25:41 字數 1445 閱讀 2681

1、函式名可以當做引數傳遞

2、返回值可以是函式名

尾呼叫由於是函式的最後一步操作,不需要保留外層函式的呼叫記錄,因為呼叫位置、內部變數等資訊不會再用到了,只需要直接用內層函式的呼叫記錄,取代外層函式的呼叫記錄就可以了。

滿足以下兩個特性的任意乙個即為高階函式:

1、函式的傳入引數是乙個函式名

2、函式的返回值是乙個函式名

map(xx;xx):第乙個位置寫處理邏輯,第二個位置為可迭代物件。

filter(xx;xx):第乙個位置寫處理邏輯,第二個位置為可迭代物件。

先導入functools模組:

from functools import reduce

reduce(xx;xx;xx):第乙個位置寫處理邏輯,第二個位置為可迭代物件。第三個位置為初始值,預設不填

name = 「你好」

例如:print(byte(name,encoding=「utf—8」))

解碼:例如:print(byte(name,encoding=「utf—8」).decode(「utf—8」))特性一:不論傳入的引數有多長,最後得出的結果長度都是固定的。

特性二:不能根據雜湊值反推出原先的引數

print(isinstance(1,int)) 結果為:true

print(isinstance(「abc」,str)) 結果為:true

print(globals()):列印所有全域性變數

print(locals()):列印本層的區域性變數

舉例子:

dic=

print(max(dic)) // 預設比較的是字典的key

如果要對應value,則:

dic=

print(max(dic.values)) //此時顯示的只有values

如果想要顯示key跟value,比較的是value,則:

dic=

print(zip(max(dic.values(),dic.keys())))

例如: print(list(zip((『a』,『b』,),(1,2))))

顯示:[(『a』,1),(『b』,2)]例如:

print(pow(2,3)) //2的3次方

print(pow(2,3,3)) //2的3次方對3取餘

round(3.5) //四捨五入,輸出為4

如果是import匯入,則:

import test

test.xx()

如果是』test』,則:

module_name=『test』

m=import(module_name)

m.xx()

Python 函式式程式設計 高階函式

functional programming,函式式程式設計。python對函式式程式設計提供部分支援。對於純函式程式設計,對任一函式,只要輸入是確定的,輸出就是確定的,可稱之為無 我們知道函式的計算結果可以賦值給變數,例如x abs 5 同理,變數也可以指向函式,例如f abs。如果乙個變數指向了...

Python函式式程式設計 高階函式

高階函式 1.實參是乙個函式名 2.函式的返回值是乙個函式 函式本身也可以賦值給變數,變數也可以指向函式 f abs print f 10 傳遞的引數包括函式名 deffun x,y,f return f x f y print fun 10 23,abs map 函式接收兩個引數,乙個是函式,乙個...

python函式式程式設計 高階函式 偏函式

三大特性 immutable data不可變資料 first class functions函式像變數一樣使用 尾遞迴優化 每次遞迴都重用stack 好處 parallelization並行 lazy evaluation惰性求值 determinism 確定性 函式式程式設計 map reduce...