def log():
print('我是一些log資訊')
if __name__ == '__main__':
print(type(log))
log_func = log
log_func()
我是一些log資訊
def log():
log_info = '我是一些log資訊'
print(log_info)
if __name__ == '__main__':
f = log()()
我是一些log資訊
import functools
def log(func):
@functools.wraps(func)
print('name引數是: {}'.format(*args))
print('我在函式%s()被呼叫前做了一些事情' % func.__name__)
print('呼叫函式 %s():' % func.__name__)
return func(*args, **kwargs)
@log
def get_user_info(name):
print('函式{}的執行結果是: 獲取到使用者{}的資訊'.format(get_user_info.__name__, name))
if __name__ == '__main__':
get_user_info('xiaoming')
name引數是: xiaoming
我在函式get_user_info()被呼叫前做了一些事情
呼叫函式 get_user_info():
函式get_user_info的執行結果是: 獲取到使用者xiaoming的資訊
Python中的裝飾器理解
主要記住兩個例子就好 1.裝飾器含有不確定引數 需要注意 1.裝飾器的引數func為函式,裝飾器內部函式 deco的引數 args,kwargs為func函式傳入的不確定性變數。2.裝飾器以輸出的函式作為形參,返回內部自定義的函式 內部自定義的函式返回形參傳入的函式 所以可認為,裝飾器傳入函式,返回...
python中的裝飾器理解
python裝飾器 fuctional decorators 就是用於拓展原來函式功能的一種函式,目的是在不改變原函式名 或類名 的情況下,給函式增加新的功能。這個函式的特殊之處在於它的返回值也是乙個函式,這個函式是內嵌 原 函式的函式。之前拓展函式的做法是侵入原函式進行拓展修改,例如 原始函式 i...
python裝飾器理解 python裝飾器理解
裝飾器 在不改變原函式的 和呼叫方法的基礎上,給原函式增加額外的功能 理解宣告 為了方便理解,以下例子採用最簡潔的函式和新增的功能 給原函式新增乙個執行時間 import time def timer func def inner func return inner timer func timer...