python简易装饰器_python简单装饰器

#!/usr/bin/env python

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

#

# '''python简单的装饰器'''

# def log(func):

# def wrapper():

# func()#调用相当于chen()

# print('2222')

# print('执行顺序')

# return wrapper#把函数名返回给chen(),此时chen()= wrapper()

#

# @log #相当于log(chen)

# def chen():

# print ('2013-12-25')

# print('python不难啊')

# chen()#调用chen()相当于调用wrapper()

'''多个装饰器的使用方式'''

import time

def deco01(func):

def wrapper(*args, **kwargs):

print("this is deco01")

startTime = time.time()

func(*args, **kwargs)

endTime = time.time()

msecs = (endTime - startTime)*1000

print("time is %d ms" %msecs)

print("deco01 end here")

return wrapper

def deco02(func):

def wrapper(*args, **kwargs):

print("this is deco02")

func(*args, **kwargs)

print("deco02 end here")

return wrapper

def deco03(func):

def wrapper(*args, **kwargs):

print("this is deco03")

func(*args, **kwargs)

print("deco03 end here")

return wrapper

@deco01

@deco02

@deco03#先执行第三个装饰器(先解析deco01,但先执行deco03)

def func(a,b):#经过装饰器后会有三个值 wrapper

print("hello,here is a func for add :")

time.sleep(1)

print("result is %d" %(a+b))

if __name__ == '__main__':

f = func

f(3,4)

#func()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值