码迷,mamicode.com
首页 > 编程语言 > 详细

初学python第十二天的随堂笔记

时间:2017-12-29 20:05:44      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:sleep   函数   进阶   inner   nbsp   war   return   end   pre   

装饰器的进阶

 带参数的装饰器

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_out(FLAGE)
def funs():
    time.sleep(0.2)
    print(大家好呀大家好)
@timmer_out(FLAGE)
def func():
    time.sleep(0.2)
    print(新年好呀新年好)
funs()
func()

多个装饰器装饰一个函数

def wrapper1(func):
    def inner(*args,**kwargs):
        print(1111111)
        ret = func(*args,**kwargs)
        print(2222222)
        return ret
    return inner
def wrapper2(func):
    def inner(*args,**kwargs):
        print(3333333)
        ret = func(*args,**kwargs)
        print(4444444)
        return ret
    return inner
def wrapper3(func):
    def inner(*args,**kwargs):
        print(5555555)
        ret = func(*args,**kwargs)
        print(6666666)
        return ret
    return inner
@wrapper3
@wrapper2
@wrapper1
def funs():
    print(233)
    return 666
print(funs())

初学python第十二天的随堂笔记

标签:sleep   函数   进阶   inner   nbsp   war   return   end   pre   

原文地址:https://www.cnblogs.com/GrandDarkness/p/8146012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!