【发布时间】:2021-12-13 00:45:34
【问题描述】:
好吧,假设我有两个子类和一个父类。我将如何比较两个子类之间的异同?例如
class vehicles:
def __init__(self, make, model):
self.make = make
self.model = model
class truck(vehicles):
def __init__(self, make, model):
vehicles.__init__(self, make, model)
self.make = "ford"
self.model = "F-150"
class cars(vehicles):
def __init__(self, make, model):
vehicles.__init__(self, make, model)
self.make = "ford"
self.model = "mustang"
如何让它打印两个子类在这里的共同点?我不知道从哪里开始。我查看了其他网站并阅读了我的 python 书,但我找不到它向我展示如何做到这一点的地方,或者我只是不理解它。我要比较的是品牌和型号的反对意见。我不知道我不需要额外的自我。但我仍然不确定在这里做什么。
【问题讨论】:
-
根据您自己的研究,到目前为止您尝试了哪些方法,您的尝试中出了什么问题?请edit 在您的比较代码中包含minimal reproducible example
-
我无法提供一个最小的可重现示例,因为我不知道从哪里开始,或者即使我试图做的事情对于这种数据类型是可能的。这就是为什么我要问怎么做。
-
你到底想比较什么(值或属性还是什么?比较是基于父类具有的属性吗?所以只比较继承属性的值?),除了两个子类你不需要使用
self.make和self.model,只需将参数传递给父__init__方法,否则继承有什么意义? -
好吧,我不知道。那么我该怎么做才能给对象赋值呢?
-
@reagent-52 在您的情况下,在继承类的
__init__方法中使用此特定代码,您只需键入vehicles.__init__(self, "ford", "mustang")和其他vehicles.__init__(self, "ford", "F-150"),此外没有意义为用户放置参数,因为它们将被覆盖
标签: python