我有两个类:MyClass 和 MyClass2。对于 MyClass,我拿了一个文件并返回了该文件上的每个单词。在 MyClass2 中,我继承了 MyClass 并基本上编写了一个代码,该代码应该将所有单词连同单词的频率一起存储在字典中作为值。我已经测试过的第一个类,它能够返回每个单词。MyClass2 我认为我写得正确,但我认为我没有继承 MyClass 权利,或者我的iter方法写得不正确。每次我尝试运行我的代码时,它都会返回一个错误。 由于这是一项家庭作业,(我也不想被认为是作弊..)除非有必要回答我的问题,否则我不会发布我的所有代码,也不会期望任何人重写或完全修复我的代码。我只需要一些关于我的构造函数是否错误或者整个代码是否错误的指导,或者我只是没有正确格式化我的代码并且继承了错误的类......?我是 python 新手,我只需要帮助。
from myclass import MyClass
class MyClass2(MyClass):
def __init__(self, Dict): #Is the problem within the constructor?
self.Dict = Dict
Dict = {}
def dict(self, textfile):
text = MyClass(textfile) #Was I wrong here??
..................
..............
..............
return self.Dict
def __iter__(self):
for key, value in self.Dict.items():
yield key, value
当我运行测试代码时,我收到一条错误消息:
AttributeError: 'MyClass2' object has no attribute 'items'
如果我遗漏任何内容或信息不足,请告诉我。
我使用给出的以下代码对其进行了测试:
filename = MyClass1('name of file')
y = MyClass2(filename)
for x in y:
print x
这是回溯:
Traceback (most recent call last):
File "C:\myclass.py", line 25, in <module>
for x in y:
File "C:\myclass2.py", line 19, in __iter__
for key, value in self.Dict.items():
AttributeError: 'MyClass2' object has no attribute 'items'