一、構建乙個可迭代物件(列表、元組、字典等)
#tuple01、dict01自帶有__iter__屬性,即為可迭代物件
tuple01 =
("stay hungry stay foolish"
,"keep looking,don't sate"
,"hobbies"
)dict01 =
二、用for迴圈來進行迭代
(1). **如下所示:
for tuple01_i in tuple01:
print
(tuple01_i)
# for dict01_i in tuple01:
# print(dict01_i)
(2). 結果如下:
stay hungry stay foolish
keep looking,don't sate
hobbies
三、使用for迴圈底層原理來進行迭代
(1). **如下所示:
# 1.獲取可迭代物件的迭代器
# iterator = tuple01.__iter__()
iterator = dict01.__iter__(
)while
true
:try
:# 2.使用迭代器取所有的下乙個元素並顯示
item = iterator.__next__(
)# print(item)
print
(item+
":",dict01[item]
)# 3.遇到異常停止迭代
except stopiteration:
break
(2). 結果如下:
steve jobs:
1001
bill gates:
1002
near object:
1003
四、用for迴圈以及其底層原理來迭代圖形類物件
(1). **如下所示:
#encoding = utf-8
"""@version:3.7
@author:qiu
@file:iter_demo.py
@time:23:18
"""class
graphical
:#圖形類
pass
class
graphicalmanager
:#影象管理器類
def__init__
(self)
: self.__graphs =
defadd
(self,graph)
:# 1.建立可迭代物件,有__iter__方法就是可迭代物件
def__iter__
(self)
:return gradphicaliterator(self.__graphs)
class
gradphicaliterator
:#圖形迭代器類
def__init__
(self,graphs)
: self.__graphs = graphs
self.__index =-1
def__next__
(self)
:#2.建立迭代器,有__next__方法就是迭代器
self.__index +=
1if self.__index >
len(self.__graphs)-1
:raise stopiteration #3.迭代完所有圖形後,停止迭代
return self.__graphs[self.__index]
graph_m = graphicalmanager(
)graph_m.add(graphical())
graph_m.add(graphical())
graph_m.add(graphical())
#for迴圈遍歷所有影象類物件
for graphical_i in graph_m:
print
("1.影象物件:"
,graphical_i)
#for迴圈底層原理遍歷所有影象類物件
iterator = graph_m.__iter__(
)while
true
:try
: item = iterator.__next__(
)print
("2.圖形物件:"
,item)
except stopiteration:
break
(2). 結果如下:
1
.影象物件: <__main__.graphical object at 0x0000016f03b42f08
>
1.影象物件: <__main__.graphical object at 0x0000016f03b42f48
>
1.影象物件: <__main__.graphical object at 0x0000016f03b42f88
>
2.圖形物件: <__main__.graphical object at 0x0000016f03b42f08
>
2.圖形物件: <__main__.graphical object at 0x0000016f03b42f48
>
2.圖形物件: <__main__.graphical object at 0x0000016f03b42f88
>
python中for迴圈的底層實現機制 迭代
在python中,存在2種迴圈方式 for迴圈和while迴圈。while迴圈的實現很簡單,其本質就是乙個條件語句,自定義條件,當條件滿足的時候,不斷執行while 塊。但是for迴圈,究竟是怎麼回事呢?說到for迴圈,那麼就不能不講到迭代了 迭代 python中迭代物件分2種 迭代器物件 iter...
for迴圈 底層工作原理
for 迴圈是對容器進行迭代的過程。迭代就是從某個容器物件中逐個地讀取元素,直到容器中沒有更多元素為止。先判斷物件是否為可迭代物件,不是的話直接報錯,丟擲typeerror異常,是的話,呼叫 iter 方法,返回乙個迭代器 不斷地呼叫迭代器的 next 方法,每次按序返回迭代器中的乙個值 迭代到最後...
python中的for迴圈
一 for迴圈概要 for迴圈是乙個通用序列迭代器,可遍歷任何有序的序列物件內的元素,包括字串 列表 元組 其他內建可迭代物件。一般格式 for in if break if continue else 二 for迴圈應用舉例 1 遍歷序列元素 for x in spam eggs ham prin...