我有两个班:MyClass和MyClass2。对于我的类,我取了一个文件并返回了该文件上的每个单词。在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
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'