无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Python for循環(huán)的真面目竟是while,如何讓自己自定義的類實(shí)現(xiàn)for循環(huán)

2022-04-25 16:27 作者:乛ロ乛  | 我要投稿

首先從for循環(huán)開始,我們來看一對等效的代碼

易得這段代碼的運(yùn)行結(jié)果為

再來看一段等效的代碼

這段代碼與上面這段代碼等效,由此可知,如果需要讓一個類可以迭代,就需要實(shí)現(xiàn)inter方法,并且這個被inter方法返回的對象要實(shí)現(xiàn)next方法,并在迭代完成所有元素后拋出一個異常。

分析完成后我們就可以自己實(shí)現(xiàn)一個能迭代的類了

現(xiàn)在我們有一個Student類

現(xiàn)在我想通過for循環(huán)獲取Student實(shí)例的idname,就要先實(shí)現(xiàn)inter方法

這里偷懶了就直接把Student本身作為迭代器,因此Student需要實(shí)現(xiàn)next方法

但是如果現(xiàn)在去用for循環(huán)迭代Student實(shí)例會發(fā)現(xiàn)一直返回none

所以需要在迭代結(jié)束時拋出一個停止迭代的異常

于是最終代碼為

輸出為


Python for循環(huán)的真面目竟是while,如何讓自己自定義的類實(shí)現(xiàn)for循環(huán)的評論 (共 條)

分享到微博請遵守國家法律
山西省| 井研县| 博客| 邵东县| 襄汾县| 驻马店市| 舟山市| 台东县| 高清| 海兴县| 资中县| 黔江区| 邹城市| 平陆县| 泾源县| 上高县| 微博| 峨眉山市| 普兰县| 永州市| 射阳县| 呈贡县| 正阳县| 克拉玛依市| 玉田县| 铜鼓县| 陇西县| 望奎县| 丰都县| 侯马市| 永泰县| 将乐县| 永昌县| 阳原县| 尉氏县| 黄龙县| 大厂| 辽阳县| 永顺县| 嘉黎县| 台南市|