魔法方法 迭代器

2021-08-14 05:41:04 字數 2345 閱讀 9512

讀書筆記:

iterator 是迭代器。

迭代器有兩種方法:

iter(可迭代的物件):返回乙個迭代器

next(迭代器): 返回迭代器的下乙個元素,若果迭代器為空,將引發stopiteration

演示:

>>> string = "zss041962"

>>> iter(string)

at0x0000000002f53b38>

>>> iter(range(10))

at0x0000000002f2efd0>

>>> it = iter(range(10))

>>> next(it)

0>>> next(it)

1

可以設定終止迭代條件,如下

if 條件:

改寫**:

import time as t

class

leapyear:

#從begin到現在為止的所有閏年

def__init__

(self,begin = 1980 ):

self.now = t.localtime()[0]

self.begin = begin

defisleapyear

(self,year):

if year%4 == 0

and year%100 != 0

or year%400 == 0 :

return

true

else:

return

false

def__iter__

(self):

return self

def__next__

(self):

while

not self.isleapyear(self.now):#找第乙個閏年

self.now -= 1

temp = self.now#儲存第乙個閏年

self.now -= 1

#為下次迭代作準備

課時48 魔法方法 迭代器

目錄 一 迭代器 二 課時48課後習題及答案 一 迭代器 迭代的意思類似於迴圈,每一次重複的過程被稱為一次迭代的過程,而每一次迭代得到的結果會被用來作為下一次迭代的初始值。提供迭代方法的容器稱為迭代器,通常接觸的迭代器有序列 列表 元組 字串 還有字典也是迭代器,都支援迭代的此操作。舉個例子,通常使...

Python入門學習筆記( 魔法方法 迭代器)

for i in fishc print i f ishc links 你好 syntaxerror invalid character in identifier links 你好 我好 for each in links print s s each,links each 你好 我好 迭代器 i...

python 魔法方法 定製序列 迭代器

容器型別的協議 如果說你希望定製的容器是不可變的話,你只需要定義 len 和 getitem 方法。如元組 字串 如果你希望定製的容器是可變的話,除了 len 和 getitem 方法,你還需要定義 setitem 和 delitem 兩個方法。容器型別的魔法方法如下 編寫乙個不可改變的自定義列表,...