鍍金池/ 教程/ Python/ 迭代器設(shè)計(jì)模式
反模式
隊(duì)列
適配器設(shè)計(jì)模式
享元設(shè)計(jì)模式
Python設(shè)計(jì)模式
工廠模式
模板設(shè)計(jì)模式
構(gòu)建器(Builder)設(shè)計(jì)模式
Python設(shè)計(jì)模式概要
命令設(shè)計(jì)模式
Python設(shè)計(jì)模式簡(jiǎn)介
觀察者設(shè)計(jì)模式
代理設(shè)計(jì)模式
異常處理
責(zé)任鏈設(shè)計(jì)模式
字典實(shí)現(xiàn)
抽象工廠設(shè)計(jì)模式
Python并發(fā)(多線程)
策略設(shè)計(jì)模式
門面(Facade)設(shè)計(jì)模式
原型設(shè)計(jì)模式
迭代器設(shè)計(jì)模式
集合
單例模式
列表數(shù)據(jù)結(jié)構(gòu)
狀態(tài)設(shè)計(jì)模式
模型視圖控制器(MVC)模式
裝飾器設(shè)計(jì)模式
面向?qū)ο蟾拍畹膶?shí)現(xiàn)
面向?qū)ο笤O(shè)計(jì)模式
字符串和序列化

迭代器設(shè)計(jì)模式

迭代器設(shè)計(jì)模式屬于行為設(shè)計(jì)模式類別。 開發(fā)人員幾乎在每種編程語(yǔ)言中都遇到了迭代器模式。 這種模式的使用方式有助于以順序方式訪問集合(類)的元素,而無需了解底層設(shè)計(jì)。

如何實(shí)現(xiàn)迭代器模式?

下面我們來看看如何實(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í),打印以下輸出 -

說明

這個(gè)Python代碼遵循迭代器模式。 這里,增量操作符用于開始計(jì)數(shù)。 計(jì)數(shù)結(jié)束于用戶強(qiáng)行終止。