Я пытаюсь создать код, который использует метод __iter__()
как генератор, но я получаю сообщение об ошибке сказав:TypeError: объект не принимает никаких параметров
TypeError: object() takes no parameters.
Кроме того, я не уверен, является ли моя функция доходности должен быть вызван внутри try: или в функции main()
Я довольно новичок в Python и кодировании, поэтому любые предложения и рекомендации будут очень благодарны, чтобы я мог учиться. Благодаря!
class Counter(object):
def __init__(self, filename, characters):
self._characters = characters
self.index = -1
self.list = []
f = open(filename, 'r')
for word in f.read().split():
n = word.strip('!?.,;:()$%')
n_r = n.rstrip()
if len(n) == self._characters:
self.list.append(n)
def __iter(self):
return self
def next(self):
try:
self.index += 1
yield self.list[self.index]
except IndexError:
raise StopIteration
f.close()
if __name__ == "__main__":
for word in Counter('agency.txt', 11):
print "%s' " % word
Пожалуйста, включите TraceBack ошибки, это помогает. – Roberto
... ваши методы '__init' и т. Д. В конце концов не имеют двух символов подчеркивания. Это '__init__'. Это может привести к ошибке. – Roberto
А также с отступом слишком далеко. – hayavuk