我无法弄清楚是什么原因导致了这个奇怪的错误。在我看来,我提供了正确数量的args,但我不知道为什么会遇到这样的异常。
class FileParser(object):
def __init__(self,file_name,category):
self.file_name=file_name
self.category=category
class SchoolParser(FileParser):
def __init__(self,file_name,category):
FileParser.__init__(self,file_name,category)
views.py
schoolparser = SchoolParser(file_name,category)
日志
schoolparser = SchoolParser(file_name,category)
TypeError: __init__() takes 2 positional arguments but 3 were given
答案 0 :(得分:0)
我没有得到这个错误,但是是另一个错误。这是因为在创建类之后,您需要使用一个对象实例化它,在您的情况下,该对象将是文件名和类别的名称。
>>>class FileParser(object):
def __init__(self,file_name,category):
self.file_name=file_name
self.category=category
class SchoolParser(FileParser):
def __init__(self,file_name,category):
FileParser.__init__(self,file_name,category)
>>>schoolparser = SchoolParser(file_name,category)
NameError: name 'file_name' is not defined
这是因为我没有使用适当的参数实例化该类。做到了:
>>>schoolparser = SchoolParser('banana', 'fruit')
<__main__.SchoolParser at 0x1bf159ed860>
希望有帮助。