Python 函式裝飾器

2021-10-02 01:39:48 字數 808 閱讀 7322

python裝飾器就是用於拓展原來函式功能的一種函式,這個函式的特殊之處在於它的返回值也是乙個函式

在不改變原函式**的基礎上,增加新的功能

裝飾器的乙個特點是:在執行原函式的基礎上,增加內容

# 定義乙個修飾器函式

defdecorator

(old_func)

:def

innter()

:from datetime import datetime

starttime = datetime.now(

) res = old_func(

) endstime = datetime.now(

)print

(endstime - starttime)

return res

return innter

# 語法糖的寫法:

# 找到要裝飾的函式

# 在上面寫上@,然後跟裝飾器函式的名稱

# 原函式 ,@decorator 修飾符

@decorator

defcount()

: x =

0for i in

range

(500000):

x += i

return x

print

(count())

# 裝飾器實際也是乙個函式;

# 接收乙個老函式的名稱;

# 返回新函式的名稱;

# 在新函式裡呼叫老函式;

python裝飾器 函式裝飾器,類裝飾器

只要實現此 模式,這個obj就叫乙個裝飾器 參考 函式裝飾器 例子 def decorator func def inner args,kwargs print before.res func args,kwargs print after.return res return inner decor...

python 裝飾器 函式裝飾器 類裝飾器

python函式裝飾器和類裝飾器筆記.usr bin env python coding utf 8 author ivan file decorators.py version from functools import wraps 裝飾器 目的是為了給函式新增附加功能 1.不帶引數裝飾器 此方式...

python裝飾器 裝飾器工廠函式

使用裝飾器實現如下所示的列印 小白聯盟def printequel func1 def inner1 print 15 func1 return inner1 def printstar func2 def inner2 print 15 func2 return inner2 printequel...