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