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 なし