生産はあります

1  「」 ' 
2  ビルダー:
 3つの 概念:ファンクションジェネレータ関数を使用して収率が呼び出されます。発電機
 4。 通常の関数との差に:ジェネレータ関数は、関数は、イテレータを返すある
 5  だけ反復動作のために。あなたは発電機がイテレータであると考えることができます。
6  '' ' 
7  システムビルダー
。8(XたLi1 =にするための X レンジ(3))   [0,1,2] 
。9  プリント(たLi1で)
 10  プリント(たLi1におけるタイプ())   #1 ジェネレータ
11  
12は、 LI2 = (* 2 X  X におけるできる範囲(4))  [0,2 ,. 4 ,. 6] 
13である ため、I LI2。
14      プリント(I)
 15  
16 LI3 =(3  X における範囲(3 ))
 17  プリント(リスト(LI3))
 18  
19  
20 LI4 =(X  X における範囲(11)であれば、X%2 == 0)
 21  プリント(リスト(LI4))
 22  
23 L = []
 24  のための I における範囲(11 ):
 25      であれば、I%2 == 0:
 26          l.append(I)
 27  プリント(L)
 28  
29 
30  関数
31は、 DEFの:関数func1()
 32      プリント" --1-- " 33が     プリント" --2-- " 34が     プリント" --3-- " 35  関数func1()
 36  プリント(型(関数func1))  関数
37 [  印刷(タイプ(関数func1()))    #1 NoneType 
38は、 
39  #の発生が機能
40  DEFの関数func2():
 41は、     プリント*** 111 ***" 42      プリント(3456789 43      収率
44      プリント" *** 222 *** " 45      、収率
46      プリント" *** 333 *** 47      、収率
48  プリント(型(関数func2))  機能
49  印刷(タイプ(関数func2()))   発電機
50  の印刷" ----------------------------------- ----- 51、A = 関数func2()
 52  (a)の次
53  次の(a)は
 54  次(A)
 55  次の(a)は#1を呼び出すとStopIteration 
56  
57  デフFUNC3():
 58      プリント" --- 111 --- " 59      収率 " " 60 プリント--- 222 --- " 61 収率" B " 62 プリント" --- 333 --- 63 収率64 65 B = FUNC3()
 66 プリント(次の(B))

           
          
 
 67  プリント(次の(b))は
 68  プリント(次の(b)参照)    #1 なし

 

おすすめ

転載: www.cnblogs.com/BKY88888888/p/11266047.html