我试图创建一个使用__iter__()方法作为生成器的代码,但是我得到了一个错误消息:TypeError: object() takes no parameters.
另外,我不确定我的yield函数是应该在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