装饰器案例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函数需打印姓名和年龄。

转载于:https://www.cnblogs.com/lindong0602/p/9340414.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值