類的for迴圈

2021-08-11 12:46:17 字數 828 閱讀 5648

例子:斐波那契數列的實現

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...