内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Python3如何手動創(chuàng)建迭代器

本篇文章為大家展示了Python 3如何手動創(chuàng)建迭代器,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),寧夏企業(yè)網(wǎng)站建設(shè),寧夏品牌網(wǎng)站建設(shè),網(wǎng)站定制,寧夏網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,寧夏網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

今天帶大家學(xué)習(xí)Python 3如何手動創(chuàng)建迭代器!

概述

迭代器即可以遍歷諸如列表,字典及字符串等序列對象甚至自定義對象的對象,其本質(zhì)就是記錄迭代對象中每個元素的位置。迭代過程從第一個元素至最后一個元素,且過程不能回滾或反方向迭代。

兩個基本方法iter、next

序列對象可以利用iter()直接創(chuàng)建迭代器,并通過next()即可迭代迭代器。

利用for循環(huán)迭代

S = 'PYTHON'
IT = iter(S)
for it in IT:
 print(it)

示例結(jié)果:

P
Y
T
H
O
N

利用next()迭代

S = 'PYTHON'
IT = iter(S)
print(next(IT))
print(next(IT))
print(next(IT))
print(next(IT))
print(next(IT))
print(next(IT))

示例結(jié)果:

P
Y
T
H
O
N

當(dāng)我們使用next()迭代時,如果迭代了次數(shù)超過了迭代器中的元素個數(shù)就會引發(fā)StopIteration,由此我們可以利用while循環(huán)迭代,并不斷捕捉迭代結(jié)束的異常完成for循環(huán)的迭代過程。

S = 'PYTHON'
IT = iter(S)
while True:
 try:
 print(next(IT))
 except StopIteration:
 break
P
Y
T
H
O
N

手動構(gòu)建迭代器

把一個類作為一個迭代器使用需要在類中實現(xiàn)兩個方法 iter() 與 next() 。iter() 方法返回一個特殊的迭代器對象, 這個迭代器對象實現(xiàn)了 next() 方法并通過 StopIteration 異常標(biāo)識迭代的完成。next() 方法(Python 2 里是 next())會返回下一個迭代器對象。下面這個類構(gòu)造了一個迭代器接受一個可迭代的數(shù)字,每次迭代都返回上一次迭代結(jié)果的平方,當(dāng)?shù)Y(jié)果大于9999999999999時拋出異常。利用該類創(chuàng)建示例對數(shù)字2進(jìn)行平方和迭代。

class IT_SQUARE:
 def __init__(self, x):
 self.x = x
 def __next__(self):
 self.x = self.x ** 2
 if self.x > 9999999999999:
 raise StopIteration
 
 else:
 return self.x
 def __iter__(self):
 return self
 
IT1 = IT_SQUARE(2)
 
while True:
 try:
 print(IT1.__next__())
 except StopIteration:
 break

示例結(jié)果

4
16
256
65536
4294967296

上述內(nèi)容就是Python 3如何手動創(chuàng)建迭代器,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁題目:Python3如何手動創(chuàng)建迭代器
轉(zhuǎn)載源于:http://m.rwnh.cn/article34/igjepe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)Google、網(wǎng)站制作、動態(tài)網(wǎng)站、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
荆门市| 安平县| 宕昌县| 棋牌| 睢宁县| 沙坪坝区| 阳山县| 宜黄县| 平山县| 青河县| 双桥区| 大竹县| 洛扎县| 天柱县| 伊宁市| 长海县| 太谷县| 池州市| 田阳县| 东明县| 沾化县| 尼勒克县| 汕头市| 贵溪市| 嘉禾县| 辛集市| 鱼台县| 石屏县| 怀远县| 齐河县| 白银市| 齐河县| 神农架林区| 曲靖市| 兴仁县| 司法| 廉江市| 嘉兴市| 随州市| 盖州市| 济宁市|