多层装饰器、带参数装饰器
生活随笔
收集整理的這篇文章主要介紹了
多层装饰器、带参数装饰器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# 帶參數的裝飾器
# import time
# FLAGE = False # 加個標志位,使全部的裝飾器可以失效或有效
# def timmer_out(flag):
# def timmer(func):
# def inner(*args,**kwargs):
# if flag:
# start =time.time()
# ret = func(*args,**kwargs)
# print(time.time()-start)
# return ret
# else:
# ret = func(*args, **kwargs)
# return ret
# return inner
# return timmer
#
# @timmer_out(FLAGE) # timmer_out(FLAGE)就是timmer
# def func():
# time.sleep(0.1)
# print('sleep:0.1')
# @timmer_out(FLAGE)
# def fun1():
# time.sleep(0.5)
# print('sleep:0.5')
# func()
# fun1()# 多層裝飾器
# 記錄用戶登陸情況,記錄時間等場景
def fun1(func):def inner(*args,**kwargs):print(111)ret = func()print(222)return retreturn innerdef fun2(func):def inner1(*args,**kwargs):print('aaa')ret = func()print('bbb')return retreturn inner1 @fun1 @fun2 def func():print('馮') func()
# 記錄用戶登陸情況,記錄時間等場景
def fun1(func):def inner(*args,**kwargs):print(111)ret = func()print(222)return retreturn innerdef fun2(func):def inner1(*args,**kwargs):print('aaa')ret = func()print('bbb')return retreturn inner1 @fun1 @fun2 def func():print('馮') func()
?
轉載于:https://www.cnblogs.com/Mr-Feng/p/10803156.html
總結
以上是生活随笔為你收集整理的多层装饰器、带参数装饰器的全部內容,希望文章能夠幫你解決所遇到的問題。