學習python2 7的迭代器

2021-07-10 10:46:04 字數 919 閱讀 9085

python支援乙個容器之上的迭代的的概念。這由兩個截然不同的方法實現,它們被用於讓使用者定義的類(user-defined classes)支援迭代。序列(sequences),總是支援迭代方法,下面會詳細描述。

在容器物件中需要定義乙個方法來提供迭代支援:

container.__iter__()

返回乙個迭代器物件。此物件要求能支援下面描述的迭代協議。如果乙個容器支援不同型別的迭代,額外的方法可被提供,來為這些不同型別請求指定的迭代器。(乙個物件支援多種形式的迭代的,就像樹結構支援廣度優先和深度優先遍歷一樣。)該方法對應於python/c api中的python物件的型別結構的tp_iter槽(slot)。

迭代器物件本身要求支援以下組成迭代器協議的兩個方法:

iterator.__iter__()

返回迭代器物件本身。這是必需的,以讓它可以在容器和迭代器中使用for語句和in語句。該方法對應於python/c api中的python物件的型別結構的tp_iter槽。

iterator.__next__()

從容器中返回下一項。如果沒有,引發stopiteration異常。該方法對應於python/c api中的python物件的型別結構的tp_iternext槽。

python定義了多種迭代器物件來支援在通用的和特定的序列型別、字典和其他特定的形式之上的迭代。這些特定型別處於迭代器協議實現之外的東西,並不重要。

一旦乙個迭代器的__next__()方法引發stopiteration,在子串行呼叫中也必須這樣做。不遵守這個屬性的實現被認為是失效的

python2 7換行 Python2 7基礎語法

1.建立檔案xx.py usr bin python3 print hello,world 2.linux下執行 python hello.py 3.編碼 預設字串unicode 設定編碼 coding utf 8 4.識別符號 第乙個字元必須是字母表中字母或下劃線 識別符號的其他的部分有字母 數字...

python2 7是什麼 python2 7是什麼

pyton2.7是python在2010年發布的乙個版本。python 是乙個高層次的結合了解釋性 編譯性 互動性和物件導向的指令碼語言,具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。下面來解釋一下python這門語言 python是一種...

python2 7中文編碼 python2 7

我從外部api中獲得了乙個字串 u4ece u8d77 u70b9 u5411 u6b63 u5357 u65b9 u5411 u51fa u53d1,u884c u9a76170 u7c73,u76f4 u884c u8fdb u5165 u4e2d u5173 u6751 u4e1c u8def...