首页 > 编程语言 > 详细

Python之装饰器

时间:2016-08-07 16:54:18      阅读:165      评论:0      收藏:0      [点我收藏+]

装饰器功能有两点:1.首先自动执行装饰器@后面跟的这个函数,并将装饰器修饰的那个函数名作为参数带入装饰器@后面函数;2.将装饰器后面函数的返回值,赋值给装饰器所修饰的那个函数。举个例子说明:

 1 def outer(func):
 2     def inner():
 3         print(log)
 4         ret = func()
 5         print(after)
 6         return ret
 7     return inner
 8 
 9 @outer 
10 def f1():
11     print(F1)

其中@outer即为装饰器函数,按照上面介绍,首先执行Outer函数,将f1函数的函数名f1作为outer的参数,执行outer(f1),然后outer()执行的返回值inner赋值给f1,这段代码执行下来,也就是inner()替代了f1()。由于inner()函数内部调用了func也就是f1,所以就会在f1执行的前后分别打印输出一个"log"和"after"。

简单理解就是:装饰器函数func代表老的f1()函数,执行打印F1的操作,而inner()代表新的f1函数。

Python之装饰器

原文:http://www.cnblogs.com/chenxiforever/p/5746492.html

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