码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器、迭代器、生成器

时间:2017-09-06 23:52:32      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:img   span   并且   one   hang   原来   pre   def   logs   

 1 def outer(func):
 2     #func =原来f1函数
 3     def inner():
 4         print(hio)
 5         print(hio)
 6         print(hio)
 7         print(hio)
 8         r=func()
 9         print(1234214o)
10         print(1234214o)
11         print(1234214o)
12         print(1234214o)
13         
14         return r
15     return inner
16 
17 @outer
18 def f1():
19     print(123)
20 
21 
22 #执行outer函数,并且将下面的函数名单做参数
23     #将outer 的返回值重新给f1=outer 的返回值
24     新f1函数=inner

装饰器再函数执行前后做修饰

=============================================================

装饰器简单调用

技术分享
def outer(func):
   
    return LH

@outer
def index():
    return True

>>> print(index) #index变成了一个字符串
View Code

装饰器返回函数名

技术分享
 1 def outer(func):
 2    
 3     def inner():
 4         print(123)
 5         ret=func()
 6         print(234)
 7         return ret
 8     return inner
 9 
10 
11 @outer
12 def index():
13     print(feichangfuzahn )
14     return True
15 
16 >>> index()
17 123
18 feichangfuzahn 
19 234
最简单装饰器

只要装饰器被应用,那么函数就会被重新定义,定义为装饰器的内层函数。

 

装饰器含N个参数的函数

 1 def outer(func):
 2     def inner(*arg,**kwargs):
 3         print(123)
 4         r=func(*arg,**kwargs)
 5         print(457)
 6         return r
 7     return inner
 8 @outer
 9 def index(x1,x2):
10     print(x1+x2)
11     return x1+x2

 

装饰器、迭代器、生成器

标签:img   span   并且   one   hang   原来   pre   def   logs   

原文地址:http://www.cnblogs.com/Mjonj/p/7487376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!