例子:斐波那契數列的實現
class
fib(object):
def__init__
(self):
self.a, self.b = 0, 1
# 初始化兩個計數器a,b
# 如果乙個類想被用於for ... in迴圈,類似list或tuple那樣,
# 就必須實現乙個__iter__()方法,該方法返回乙個迭代物件.
def__iter__
(self):
return self # 例項本身就是迭代物件,故返回自己
def__next__
(self):
self.a, self.b = self.b, self.a + self.b # 計算下乙個值
if self.a > 100000: # 退出迴圈的條件
raise stopiteration()
return self.a #
if __name__=='__main__':
for n in fib():
print(n)
結果:
1 1
2 3
5 8
13 21
34 55
89 144
233
377
610
987
1597
2584
4181
6765
10946
17711
28657
46368
75025
無縫迴圈滾動類
html 一周精選 js components.scrollimg 無縫迴圈滾動類 版本 components.scrollimg v1.0 具體使用方法見金互通前端元件庫幫助文件.doc function componentsscrollimg animateobj,currentobj,clon...
C 類迴圈依賴
最近開始久違的寫c 程式,然後因為物件上的關係,所以某個a類別會擁有b類別,同時b類別會需要知道a類別 為了能夠壤兩個類別都能夠看到,所以依照直覺的想法,會使兩方的標頭檔 header file 都會include彼此,但是此時編譯器卻會發生問題,究竟是為什麼呢?這樣的想法不是很合理嗎?但其實編譯器...
迴圈移動背景類
背景類 tgamecycleback class tlsgameanimatesprite private fspeed,fpartx tlsint ftick cardinal protected procedure dodraw override procedure doprocess cons...