python - 使用不同参数调用所有父类的 __init__
问题描述
我有一些这样的类结构:
class A:
def __init__(self):
print("A")
class B:
def __init__(self, x):
print("B")
class C(A,B):
def __init__(self):
super(C, self).__init__() # ???
c=C()
如您所见,A
两者B
都是C
. 我想__init__
在C
's中调用这两个类__init__
。我想将一些参数传递给 B's __init__
。有什么办法可以用super
关键字做到这一点?我认为这会起作用:
class C(A,B):
def __init__(self):
A.__init__()
B.__init__(5)
我们应该以这种方式直接调用__init__
,还是有更好的解决方案?
解决方案
您必须将 self 作为参数提供给父类的 __init__()。
class C(A,B):
def __init__(self):
A.__init__(self)
B.__init__(self, 5)
推荐阅读
- java - 将 findByNamedQueryAndNamedParam(Srring-ORM 4) 升级到 getNamedQuery(Srping-ORM 5)
- object-detection - 如何使用 swin 变压器 (mmdetection) 分析结果?
- django - 如何创建不同的标签,这是 django wagtail 中的博客所独有的
- docker - Docker 容器中 ASP.NET Core 应用程序的 Apache 反向代理
- angular - onclick 按钮弹出打开。弹出窗口包含输入字段。保存弹出窗口时,应在多选下拉列表中填充值
- ssl - Azure Sphere 无法连接到 Edge 设备——TLS 握手失败
- aws-pinpoint - AWS Pinpoint 事件流不会发出 email.send 或 email.delivered 等事件
- javascript - Vue JS - 输入值文本未更新
- javascript - 除非我刷新它,否则我更改页面时不会应用我的 CSS
- maven - 如何在本地机器上管理 CodeArtifact AUTH 令牌