国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
湾仔区| 甘孜县| 义乌市| 江津市| 宜君县| 江孜县| 平顶山市| 清流县| 和顺县| 广河县| 友谊县| 黄龙县| 镇坪县| 奈曼旗| 邢台市| 温泉县| 璧山县| 宿松县| 江山市| 将乐县| 会理县| 慈溪市| 永康市| 深圳市| 永定县| 明溪县| 临武县| 宜昌市| 武安市| 衡山县| 万荣县| 汕头市| 陆丰市| 靖远县| 郸城县| 阳谷县| 措勤县| 辛集市| 仙居县| 新源县| 广宗县|