Я только начал изучать питон и читаю о классах.
это код, который я написал для простого итеративного класса:
class maths:
def __init__(self,x):
self.a=x
def __iter__(self):
self.b=0
return self
def next(self):
if self.b <= self.a:
self.b = self.b+1
return self.b-1
else:
raise StopIteration
x=maths(5)
for l in x:
print l
для метода next (), когда я использовал __ next __
(self):
была отображена следующая ошибка
Traceback (most recent call last):
File "class.py", line 20, in <module>
for l in x:
TypeError: instance has no next() method
Кто-нибудь может объяснить это поведение. Я видел пример в книге Марка Пилигрима о погружении в Python 3, который использовал метод __ next __
. даже пример не запускался на моем интерпретаторе.
Спасибо, что нашли время, чтобы помочь мне!