python高階函式

2022-03-31 02:34:58 字數 1362 閱讀 9139

#

高階函式定義:

#1.函式接受的乙個引數是乙個函式名

#2.函式的返回值是乙個函式名

#3.滿足上述條件任意乙個,都可以稱為高階函式

#裝飾器:本質就是函式,功能是為其他函式新增附加功能

#原則:1.不修改被裝飾函式的源** 2.不修改被修飾函式的呼叫方式

#裝飾器=高階函式+函式巢狀+閉包

import

time

#def test(func):

#print(func)

#start=time.time()

#func()

#end=time.time()

#print("執行時間%s"%(end-start))##

def foo():

#time.sleep(2)

#print("你好")##

test(foo)

#def foo():

#time.sleep(2)

#print("from the foo")

#def test(func):

#return func##

foo=test(foo)

#start=time.time()

#foo()

#end=time.time()

#print("執行時間%s"%(end-start))

#多執行了一次

#import time

#def foo():

#time.sleep(3)

#print("來自foo")##

#不修改foo源**

##不修改foo呼叫方式##

def timer(func):

#start=time.time()

#func()

#end=time.time()

#print("執行時間%s"%(end-start))

#return func

#foo=timer(foo)

#foo()

import

time

deffoo():

time.sleep(3)

print("

來自foo")

#不修改foo源**

#不修改foo呼叫方式

deftimer(func):

return

func

foo=timer(foo)

start=time.time()

foo()

end =time.time()

print("

執行時間%s

" % (end - start))

python 函式高階 python 函式高階

形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...

Python高階 函式高階

閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...

python 函式 高階函式

filter 函式是 python 內建的另乙個有用的高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。例如判斷奇偶數 def...