无码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)的評論 (共 條)

分享到微博請遵守國家法律
井陉县| 德安县| 古交市| 铁力市| 定襄县| 宜兰市| 东乌| 文昌市| 霞浦县| 濉溪县| 巍山| 汕头市| 东台市| 礼泉县| 新泰市| 乐东| 博白县| 葫芦岛市| 峨眉山市| 开鲁县| 嵩明县| 肇州县| 靖西县| 万全县| 莒南县| 个旧市| 洪洞县| 光山县| 刚察县| 浦江县| 汕头市| 陆丰市| 巩留县| 额济纳旗| 寿光市| 东莞市| 昂仁县| 高雄市| 饶阳县| 涿鹿县| 土默特左旗|