TypeError:模块.__ init __()至多需要2个参数(给出3个参数)
import Object class Visitor(Object): def __init__(self): super(Visitor,self).__init__() def visit(self, obj): pass def getIsDone(self): return False isDone = property(fget =lambda self:self.getIsDone())
我得到这个错误: TypeError: module.__init__() takes at most 2 arguments (3 given)
class A:pass print(A) #outputs <class '__main__.A'> import urllib print(urllib) #outputs <module 'urllib' from '/usr/lib/python3.2/urllib/__init__.py'>
你的错误发生是因为Object
是一个模块,而不是一个类。 所以你的inheritance是棘手的。
将您的导入语句更改为:
from Object import ClassName
和你的class级定义为:
class Visitor(ClassName):
要么
改变你的类定义为:
class Visitor(Object.ClassName): etc
您也可以在Python 3.6.1中执行以下操作
from Object import Object as Parent
和你的class级定义为:
class Visitor(Parent):