24 高階特性之內置方法(5)

2022-05-12 06:18:32 字數 842 閱讀 2652

functools 是python2.5被引入的,一些工具函式放在此包

import functools

print(dir(functools))

偏函式 partiial
function:把原函式的某些引數設為預設引數,返回乙個新函式名,以簡化函式呼叫的形式

引入背景:

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,...