1. 程式人生 > >裝飾器、叠代器、生成器

裝飾器、叠代器、生成器

view display code 並且 index closed close 生成 hide

 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

裝飾器、叠代器、生成器