网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Python装饰器函数

装饰器函数


这里定义了一个func函数,打印‘我是func函数’

创新互联主营和田网站建设的网络公司,主营网站建设方案,app软件开发公司,和田h5小程序设计搭建,和田网站营销推广欢迎和田等地区企业咨询

def func():
    print('我是func函数');
        time.sleep(1);

假设,想要在func()函数的基础之上新增的一个功能,计算func函数执行所用的时间

import time;#时间模块,处理时间操作
#开闭原则,对扩展开放,对修改封闭
def func():
    print('我是func函数');
    time.sleep(1);#休眠一秒
#tools方法就是func方法的装饰器
def tool():
    def inner():#利用了高阶函数
        #开始的时间
        starttime=time.time();
        func();#调用函数执行上面的方法
        #结束的时间
        endtime=time.time();
        print('用时:%s秒'%(endtime-starttime));
    return inner;
inner=tool();
inner();

####################调用的方式混乱 以上策略不推荐
#接下来使用装饰器,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。本质上,decorator就是一个返回函数的高阶函数。

def logger(flag):
    #装饰器
    def tool(f):#f:func方法的方法名
        def inner():#利用了高阶函数
            #开始的时间
            starttime=time.time();
            f();#真正的执行方法,调用了func
            #结束的时间
            endtime=time.time();
            print('用时:%s秒'%(endtime-starttime));
            if flag=='true':
                print('你传入了TRUE变量')
        return inner;#内层方法的函数名
    return tool;
#主方法。想要给修饰器传参,在修饰器外重新生成修饰器
@logger('true')
def func():
    print('我是func函数');
    time.sleep(1);#休眠一秒
func();

网站题目:Python装饰器函数
URL标题:http://bjjierui.cn/article/psgiej.html

其他资讯