日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

手寫一個python迭代器過程詳解

系統 2128 0

分析

  • 我們都知道一個可迭代對象可以通過iter()可以返回一個迭代器。
  • 如果想要一個對象稱為可迭代對象,即可以使用for,那么必須實現__iter __()方法。
  • 在一個類的實例對象想要變成迭代器,就必須實現__iter__()和__next__()方法。
  • 調用iter()時,在對象內部默認調用__iter__(),即__iter__()的返回值應該是一個迭代器。
  • for的每次循環中或者next()時,都是自動調用迭代器的__next__()方法,并有一個返回值。

實現

            
class Classmate:
 def __init__(self):
  self.names = []
  self.num = 0
 def add(self, name):
  self.names.append(name)
 def __iter__(self):
  return self
 def __next__(self):
  if self.num < len(self.names):
   ret = self.names[self.num]
   self.num += 1
   return ret
  else:
   raise StopIteration
c = Classmate()
c.add("張三")
c.add("李四")
c.add("王五")
for i in c:
 print(i)
"""
張三
李四
王五
"""
          

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 镇原县| 通城县| 鲜城| 岳阳市| 宝兴县| 西畴县| 安龙县| 抚松县| 安福县| 息烽县| 托里县| 冀州市| 新疆| 皋兰县| 会泽县| 南宁市| 合阳县| 伊宁市| 三台县| 温宿县| 岳普湖县| 绥阳县| 景泰县| 嘉鱼县| 松溪县| 精河县| 孟村| 青铜峡市| 道真| 双鸭山市| 天全县| 墨玉县| 平昌县| 青海省| 南陵县| 拉萨市| 忻州市| 香港 | 兴化市| 桓台县| 仪陇县|