functools 是python2.5被引入的,一些工具函式放在此包
import functools
print(dir(functools))
偏函式 partiialfunction:把原函式的某些引數設為預設引數,返回乙個新函式名,以簡化函式呼叫的形式
引入背景:
import functools
#定義裝飾器
def note_1(func):
print('note befor')
ret = func() #執行func()
print('note after')
return ret
def note_2(func):
@functools.wraps(func) #消除裝飾器的***
print('note befor')
ret = func()
print('note after')
return ret
#對函式進行裝飾,並呼叫函式
@note_1
def test_1():
print('i am test')
test_1()
@note_2
def test_2():
print('i am test')
test_2()
print(test_2) #還是原來的test_2()
20 高階特性之內置方法(1)
map function,sequence sequence,根據提供的函式對指定序列做對映 函式需要乙個引數 m map lambda x x x,1,2,3 print m,n 結果為 1,4,9 print list m n 結果為 1,4,9 函式需要兩個引數 m map lambda x,...
21 高階屬性之內置方法(2)
map map f,i 等價於對i的每個元素i i 都執行f,然後再把所有f i i 拼接成乙個iterator並返回 map傳入函式和乙個iterable 乙個序列 返回乙個iterator 注意到iterator是惰性序列,只有被呼叫才能被獲取,要通過諸如list,for等等 迭代出來 def ...
python之內置高階函式
把函式作為引數傳入,這樣的函式稱為高階函式,函式式程式設計就是指這種高度抽象 的程式設計正規化。我們具體用兩個小案例來說明map 接收使用者輸入3個字串數字 依次將接收的三個數轉換為整形 對於序列每個元素求絕對值 nums input 請輸入 split int nums list map int,...