首页 > 编程语言 > 详细

python 装饰器

时间:2020-02-16 20:46:11      阅读:53      评论:0      收藏:0      [点我收藏+]
  •  python语法中外面定义的变量里面可以使用,但里面定义的变量外面不能使用

技术分享图片

  • 无参数无返回的装饰器
import  time,random
#py 一切皆对象,函数也是一个对象,而函数名称就对象名称
#所谓的装饰器:就是在函数中定义另一个函数,装饰器本身也是一个函数

def outer(func): #func 参数必须是一个被装饰函数地址
#里面定义一个内部函数(主要完成装饰的功能)
def inner():
start_time = time.time()
func() # 调用真正的函数(被装饰的函数)
end_time = time.time()
print(‘运行时间为:‘,end_time-start_time)

return inner

#无参数无返回的装饰器
def index():
time.sleep(random.randint(1,3))
print(‘welcome to index page‘)

# index() #直接调用
f = outer(index)
f()

运行结果:

welcome to index page
运行时间为: 3.000171661376953

 

  • 带参数的装饰器 实现方式一

技术分享图片

 

  • 带参数的装饰器 实现方式二(语法糖)

技术分享图片

 

python 装饰器

原文:https://www.cnblogs.com/liuchunxiao83/p/12317536.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!