Python:派生类中的不同构造函数占用空间
如何在Python中的派生类中使用不同的构造函数 如果我尝试这样的方法:Python:派生类中的不同构造函数占用空间,python,inheritance,constructor,abstract-class,Python,Inheritance,Constructor,Abstract Class,如何在Python中的派生类中使用不同的构造函数 如果我尝试这样的方法: from abc import ABCMeta, abstractproperty, abstractmethod class AbstractClass(object): __metaclass__ = ABCMeta def __init__(self): pass 及 我明白了 TypeError: Error when calling the metaclass bases m
from abc import ABCMeta, abstractproperty, abstractmethod
class AbstractClass(object):
__metaclass__ = ABCMeta
def __init__(self):
pass
及
我明白了
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)
我想做一些像
if (cl_param == '1'):
obj = DerivedClass1('1', 'c')
else if (cl_param == '2'):
obj = DerivedClass2('2', 'foo', 2)
class Entry(models):
content = models.TextField()
pub_date = models.DateTimeField()
等等。接口的其余部分在每个类中都是相似的,它们只需要不同的初始化参数。或者我必须通过在列表中提供参数来避免这种情况吗?确保从类而不是模块继承 使用django模型时,我收到了相同的错误消息 错误在于从模型继承了我的模型。模型 我有点像
if (cl_param == '1'):
obj = DerivedClass1('1', 'c')
else if (cl_param == '2'):
obj = DerivedClass2('2', 'foo', 2)
class Entry(models):
content = models.TextField()
pub_date = models.DateTimeField()
应该是什么时候
class Entry(models.Model):
content = models.TextField()
pub_date = models.DateTimeField()
请注意缺少的模型。Model您如何调用
DerivedClass
构造函数以使其产生错误?与我在上一个代码段中所做的非常相似(到目前为止,我只有一个派生类,所以我还没有if-else构造)。我有self+3个参数,我把它叫做“obj=DerivedClass('1','2','3')。你可以看到你定义它只接受一个参数,而不是实例,对吗?我不太明白你的意思。如果我改变了DerivedClass,而不是从基类派生,那么对象的创建就起作用了。所以继承不象C++那样工作,在那里你可以有多个不同的脚印的构造函数。我没有意识到。