装饰器案例1:


#!\usr\bin\env\python

# -*- coding:utf-8 -*9

import time

def timer(func): #定义装饰器函数

def deco(*args,**kwargs): #定义嵌套函数

start_time=time.time()

func(*args,**kwargs)

stop_time=time.time()

print("the func run time is %s" %(stop_time-start_time)) #打印输出函数运行的结束时间

return deco

@timer #给test1函数添加功能,使用装饰器的方法进行编程

def test1(): #定义函数test1

time.sleep(2) #延时2秒打印

print("in the test1")

def test2(*args,**kwargs):

print("test2:",'alex','16')

test1() #调用test1函数

test2()

#需求:定义一个test1函数延时2秒钟打印,再使用装饰器扩展函数运行打印结束时间的功能;再定义函数test2,打印输出姓名和年龄两个变量;因此使用*args,**kwargs,进行不固定传参到func()函数当中,最后打印出的结果是:test1函数需要延时两秒钟打印输出in the test1并且计算出结束时间;test2函数需打印姓名和年龄。

优质内容筛选与推荐>>
1、线程间的操作(转)
2、服务如何推广?
3、SQL 基础--> 视图(CREATE VIEW)
4、吴昊品游戏核心算法(新年特别篇)——另类取石子游戏(斐波那契博弈)
5、SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号