1.迴圈物件:包含乙個next()的方法,(在python3x版本中,是_next()_方法),這個方法的目的是進行到下乙個結果,而在結束一系列結果前,舉出stopiteration錯誤。
當乙個迴圈結構(for)呼叫迴圈物件時,每次迴圈的時候呼叫next()方法,直到stopiteration出現,for接收到,就知道迴圈已經結束,呼叫next()結束.
假如乙個test.txt的檔案:
f=open('test.txt')
f.next()
f.next()
f.next()
不斷輸入next(),直到出現stopiteration
自動迴圈就是這樣:for line in open('test.txt')
print line
open()返回的實際是乙個迴圈物件
備註:迴圈物件的概念不理解,不理解的點在 所使用的元素在迴圈過程中逐次生成是什麼意思?
2.生成器:生成器的目的是構成乙個使用者自定義的生成器
2.1生成器的編寫方法和函式定義類似,只是在return的地方改為yield。
2.2生成器中有多個yield。
2.3當生成器遇到乙個yield時,會暫停執行生成器,返回yield後面的值。
2.4當再次呼叫生成器的時候,會從剛才暫停的地方繼續執行,直到下乙個yield。
2.5生成器自身有構成乙個迴圈器,每一次迴圈使用乙個yield返回的值。
def gen():
a=100
yield a
b=200
yield b
c=300
yield c
如果每一次用作循迴圈器時,會進行三次迴圈
for i in gen()
print i
再考慮這個生成器:
def gen():
for i in range(4):
yield i
生成器表示式:
g=3.表推導
for迴圈連續建立物件
在獲取csdn訪問量的小專案中,需要獲取我所有部落格,建立了乙個blog類,所以需要建立n多個物件。所以就需要用乙個for迴圈建立。然後普通的操作,好像並不能讓字串變成變數名!class blog def init self,num print a new object num is num sel...
python 迴圈物件
這一講的主要目的是為了大家在讀python程式的時候對迴圈物件有乙個基本概念。迴圈物件的並不是隨著python的誕生就存在的,但它的發展迅速,特別是python 3x的時代,迴圈物件正在成為迴圈的標準形式。迴圈物件是這樣乙個物件,它包含有乙個next 方法 next 方法,在python 3x中 這...
Python建立物件
物件導向的程式設計 將一類事物去點細枝末節的東西分為屬性 property 和方法 method 屬性 property 是靜態的,比如姓名,性別,身高,體重等等 方法 method 是動態的,比如吃飯,喝水,跳舞,運動等等 類的構造方法 類 class 的建立以關鍵字class開頭,類名首字母大寫...