在不改變原函式的呼叫以及內部**情況下,為其新增新功能的函式。
'''
實現乙個裝飾器
'''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...