迭代器設(shè)計(jì)模式屬于行為設(shè)計(jì)模式類別。 開(kāi)發(fā)人員幾乎在每種編程語(yǔ)言中都遇到了迭代器模式。 這種模式的使用方式有助于以順序方式訪問(wèn)集合(類)的元素,而無(wú)需了解底層設(shè)計(jì)。
下面我們來(lái)看看如何實(shí)現(xiàn)迭代器模式。參考以下設(shè)計(jì)代碼 -
import time
def fib():
a, b = 0, 1
while True:
yield b
a, b = b, a + b
g = fib()
try:
for e in g:
print(e)
time.sleep(1)
except KeyboardInterrupt:
print("Calculation stopped")
執(zhí)行上述程序生成以下輸出 -
如果使用這個(gè)模式,則使用迭代器模式打印斐波那契數(shù)列。 強(qiáng)制終止用戶時(shí),打印以下輸出 -
說(shuō)明
這個(gè)Python代碼遵循迭代器模式。 這里,增量操作符用于開(kāi)始計(jì)數(shù)。 計(jì)數(shù)結(jié)束于用戶強(qiáng)行終止。