Python實現乙個裝飾器

2021-09-27 08:10:11 字數 502 閱讀 3986

在不改變原函式的呼叫以及內部**情況下,為其新增新功能的函式。

'''

實現乙個裝飾器

'''def print_func_name(func): # 提供舊功能

print(func.__name__) # 新功能

return func(*args, **kwargs) # 舊功能

@print_func_name # say_hello = print_func_name(say_hello)

def say_hello():

print("hello")

return "ok"

@print_func_name

def say_goodbye(name):

print(name, "goodbye")

result = say_hello()

print(result)

say_goodbye("張無忌")

乙個裝飾器裝飾乙個函式

2 如果鍵不存在,則新增到字典中。請使用裝飾器來實現,順便複習下 args和 kwargs的用法 a defselect func def inner args,kwargs if len args 0 if kwargs key in kwargs data print 鍵存在 else func...

實現乙個簡單的裝飾器

下面示例定義了乙個裝飾器,它會在每次呼叫被裝飾的函式時計時,然後把經過的時間 傳入的引數和呼叫的結果列印出來。import time defclock func def clocked args t0 time.perf counter result func args elapsed time.p...

Python實現對乙個函式應用多個裝飾器的方法示例

下面的例子展示了對乙個函式應用多個裝飾器,可以加多個斷點,在debug模式下,檢視程式的執行軌跡。usr bin env python coding u def decorator1 func def wrapper print hello python 之前 funwww.cppcns.com r...