Ошибка проверки: «Не удалось найти валидатор для типа: java.lang.Integer»

Я только начал изучать питон и читаю о классах.

это код, который я написал для простого итеративного класса:

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 __ . даже пример не запускался на моем интерпретаторе. Спасибо, что нашли время, чтобы помочь мне!

15
задан Yang Zheng 16 July 2015 в 13:51
поделиться