python 装饰器 晋级 系统自带的装饰器

Posted ||子义

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 装饰器 晋级 系统自带的装饰器相关的知识,希望对你有一定的参考价值。

#带参数的装饰器
#500个函数
# import time
# FLAGE = False
# def timmer_out(flag):
#     def timmer(func):
#         def inner(*args,**kwargs):
#             if flag:
#                 start = time.time()
#                 ret = func(*args,**kwargs)
#                 end = time.time()
#                 print(end-start)
#                 return ret
#             else:
#                 ret = func(*args, **kwargs)
#                 return ret
#         return inner
#     return timmer
# # timmer = timmer_out(FLAGE)
# @timmer_out(FLAGE)    #wahaha = timmer(wahaha)
# def wahaha():
#     time.sleep(0.1)
#     print(‘wahahahahahaha‘)
#
# @timmer_out(FLAGE)
# def erguotou():
#     time.sleep(0.1)
#     print(‘erguotoutoutou‘)

# wahaha()
# erguotou()

#多个装饰器装饰一个函数
def wrapper1(func):
    def inner1():
        print(wrapper1 ,before func)
        ret = func()
        print(wrapper1 ,after func)
        return ret
    return inner1

def wrapper2(func):
    def inner2():
        print(wrapper2 ,before func)
        ret = func()
        print(wrapper2 ,after func)
        return ret
    return inner2

def wrapper3(func):
    def inner3():
        print(wrapper3 ,before func)
        ret = func()
        print(wrapper3 ,after func)
        return ret
    return inner3

@wrapper3
@wrapper2
@wrapper1
def f():
    print(in f)
    return 哈哈哈

print(f())

#记录用户的登录情况
#计算这个函数的执行时间

 

以上是关于python 装饰器 晋级 系统自带的装饰器的主要内容,如果未能解决你的问题,请参考以下文章

解决报错:在Python中使用property装饰器时,出现错误:TypeError: descriptor ‘setter‘ requires a ‘property‘ object but(代码片

python Django自带的类装饰器

python三个自带装饰器的功能与使用(@property@staticmethod@classmethod)

python装饰器

Python——装饰器基础

python3 装饰器