【发布时间】:2020-07-30 12:56:52
【问题描述】:
我遇到了以下 python 代码,其中一个类继承自两个父类。我正在尝试了解该类的构造函数。
# wrapper.py:
#############
class EWrapper:
def __init__(self):
pass
...
# client.py
###########
class EClient(object):
def __init__(self, wrapper):
self.msg_queue = queue.Queue()
self.wrapper = wrapper
self.decoder = None
self.reset()
....
# Test.py
#########
class TestApp(EWrapper, EClient):
def __init__(self):
EClient.__init__(self, self)
有人可以详细说明EClient.__init__(self, self)吗?我不清楚两个selfs 的用法。 python怎么知道哪个self是哪个?
TestApp的对象构造过程是怎样的?
【问题讨论】:
-
你能澄清你的问题吗? “python如何知道哪个自我是哪个?”是什么意思?只有一个对象绑定到所有自名。名称 self 与所有其他变量名称一样工作。
-
一般来说,类的命名意味着 Wrapper 应该包含一个客户端,而不是是一个客户端。在这里,组合可能比继承更合适。
标签: python class multiple-inheritance