33、のpythonベースの学習 - ビルダー&リストビルダ&イテレータ

#!は/ usr / binに/のenv Pythonの
#__author:HLC 
#date:2019年6月7日

#リスト式
#DEF F(N):
#nのリターン** 3 
#1 A = [F(X)の範囲でX用(10)]#前述のパラメータは、後述のようにしなければならない
#プリント(A)#[0 ,. 1 ,. 8、27、64、125、216、343、512、729] 
発生

におけるxに対する=(X#Aをレンジ(10))
印刷(A)

におけるIのための#:#等しいプリント(次の(a))トラバーサル
#印刷(I)

"" " 
ジェネレータ関数と少し異なる正常な機能は、返すことですyeildはシンタックスシュガーである状態を維持することが停止することができる一方で置き換えyeild、内部実装のイテレータプロトコルは、
「」「
#のDEF fooの(): 印刷(」OK「)を
役割は、#収率1つの#歩留まりの障害を果たしました
印刷#( "OK2") 収量2 
fooの中に私のために#(): 印刷(I)


ループバックのための#とは、イテレート可能オブジェクトでありますロングそれは__iter __()メソッドを持っているようイテレート可能オブジェクトであります

DEF FIB#(MAX):
#1 N-、前、= 0,0,1後、
#N-ながら<最大:
#プリント(後)
=後、前後+前後#、
#= N-N-+ 1つの
#のFIB(8。 )

#関数におけるビルダー差:関数は、すべてのコンテンツがメモリにロードされ、発電機は、必要時に所望の値を削除します

「」 "。
ジェネレータはイテレータであり、

イテレータは、2つの条件を満足します:
1、そこITER方法; 
2、次の方法であって、

内部循環のための3つのこと:
1、コールはITERの方法を反復可能オブジェクトイテレータオブジェクトを返す
2を、イテレータのnextメソッドオブジェクトを呼び出すし続ける
3を、プロセスを呼び出すとStopIteration 

"「」

  

おすすめ

転載: www.cnblogs.com/hlc-123/p/10987984.html