草庐IT

python - Mixin 类 __init__ 函数不会自动调用吗?

我想使用Mixin始终向我的子类添加一些初始化功能,每个子类都继承自不同的API基类。具体来说,我想创建多个不同的子类,这些子类继承自这些不同的API提供的基类之一和一个Mixin,它将始终以相同的方式执行Mixin初始化代码,无需代码复制。但是,除非我在Child类的__init__函数中显式调用它,否则似乎永远不会调用Mixin类的__init__函数,这不太理想。我已经建立了一个简单的测试用例:classAPIBaseClassOne(object):def__init__(self,*args,**kwargs):print("base")classSomeMixin(obje

python - Mixin 类 __init__ 函数不会自动调用吗?

我想使用Mixin始终向我的子类添加一些初始化功能,每个子类都继承自不同的API基类。具体来说,我想创建多个不同的子类,这些子类继承自这些不同的API提供的基类之一和一个Mixin,它将始终以相同的方式执行Mixin初始化代码,无需代码复制。但是,除非我在Child类的__init__函数中显式调用它,否则似乎永远不会调用Mixin类的__init__函数,这不太理想。我已经建立了一个简单的测试用例:classAPIBaseClassOne(object):def__init__(self,*args,**kwargs):print("base")classSomeMixin(obje

python - 使用多个 __init__ 参数子类化元组

以下代码有效:classFoo(tuple):def__init__(self,b):super(Foo,self).__init__(tuple(b))if__name__=='__main__':printFoo([3,4])$pythonplay.py结果:play.py:4:DeprecationWarning:object.__init__()takesnoparameterssuper(Foo,self).__init__(tuple(b))(3,4)但不是以下:classFoo(tuple):def__init__(self,a,b):super(Foo,self).__

python - 使用多个 __init__ 参数子类化元组

以下代码有效:classFoo(tuple):def__init__(self,b):super(Foo,self).__init__(tuple(b))if__name__=='__main__':printFoo([3,4])$pythonplay.py结果:play.py:4:DeprecationWarning:object.__init__()takesnoparameterssuper(Foo,self).__init__(tuple(b))(3,4)但不是以下:classFoo(tuple):def__init__(self,a,b):super(Foo,self).__

Python "pip install "失败,出现 AttributeError : 'module' object has no attribute 'SSL_ST_INIT'

$sudopipinstall--upgradepyOpenSSLTraceback(mostrecentcalllast):File"/usr/local/bin/pip",line9,inload_entry_point('pip==8.1.1','console_scripts','pip')()File"/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py",line558,inload_entry_pointreturnget_distribution(dist).load_entry_point(group,n

Python "pip install "失败,出现 AttributeError : 'module' object has no attribute 'SSL_ST_INIT'

$sudopipinstall--upgradepyOpenSSLTraceback(mostrecentcalllast):File"/usr/local/bin/pip",line9,inload_entry_point('pip==8.1.1','console_scripts','pip')()File"/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py",line558,inload_entry_pointreturnget_distribution(dist).load_entry_point(group,n

Python:继承父类(super class) __init__

我有一个带有很多__init__参数的基类:classBaseClass(object):def__init__(self,a,b,c,d,e,f,...):self._a=a+bself._b=bifbelsea...所有的继承类都应该运行基类的__init__方法。我可以在每个调用父类(superclass)__init__的继承类中编写一个__init__()方法,但这将是严重的代码重复:classA(BaseClass):def__init__(self,a,b,c,d,e,f,...):super(A,self).__init__(a,b,c,d,e,f,...)classB

Python:继承父类(super class) __init__

我有一个带有很多__init__参数的基类:classBaseClass(object):def__init__(self,a,b,c,d,e,f,...):self._a=a+bself._b=bifbelsea...所有的继承类都应该运行基类的__init__方法。我可以在每个调用父类(superclass)__init__的继承类中编写一个__init__()方法,但这将是严重的代码重复:classA(BaseClass):def__init__(self,a,b,c,d,e,f,...):super(A,self).__init__(a,b,c,d,e,f,...)classB

python - 有没有办法在不调用 __init__ 的情况下实例化一个类?

有没有办法绕过python中类的构造函数__init__?例子:classA(object):def__init__(self):print"FAILURE"defPrint(self):print"YEHAA"现在我想创建一个A的实例。它可能看起来像这样,但是这种语法不正确。a=Aa.Print()编辑:一个更复杂的例子:假设我有一个对象C,其目的是存储一个参数并用它进行一些计算。然而,参数不是这样传递的,而是嵌入在一个巨大的参数文件中。它可能看起来像这样:classC(object):def__init__(self,ParameterFile):self._Parameter=s

python - 有没有办法在不调用 __init__ 的情况下实例化一个类?

有没有办法绕过python中类的构造函数__init__?例子:classA(object):def__init__(self):print"FAILURE"defPrint(self):print"YEHAA"现在我想创建一个A的实例。它可能看起来像这样,但是这种语法不正确。a=Aa.Print()编辑:一个更复杂的例子:假设我有一个对象C,其目的是存储一个参数并用它进行一些计算。然而,参数不是这样传递的,而是嵌入在一个巨大的参数文件中。它可能看起来像这样:classC(object):def__init__(self,ParameterFile):self._Parameter=s