Skip to main content
 首页 » 编程设计

python之如何从父类(super class)的实例创建子类的实例

2025年05月04日20zdz8207

我创建了两个类,一个父类和一个子类。我想知道的是是否可以使用父类初始化子类。这是我的代码:

class Pc: 
 
    def __init__(self, brand, processor, price): 
        self.brand = brand 
        self.processor = processor 
        self.price = price 
 
class Laptop(Pc): 
    def __init__(self,brand,processor,price, battery): 
        Pc.__init__(self,brand,processor,price) 
        self.battery = battery 

现在我可以初始化 Laptop 类:

b = Laptop('brand','processor','price') 

但这对我来说似乎没什么用,我的老师也没有很好地解释它。我很想知道是否可以做这样的事情:

a = Pc("brand","processor","price") 
b = Laptop(a, "battery") 

当我用我的代码尝试这个时,我得到了一个错误。甚至可以这样做吗?

请您参考如下方法:

你可以这样做:

class Laptop(Pc): 
    def __init__(self, pc, battery): 
        Pc.__init__(self, pc.brand, pc.processor, pc.price) 
        self.battery = battery 

这会初始化从您提供给构造函数的 pc 参数继承的属性。

如果你想使用 short 或 long 方法,你应该定义构造函数来接受关键字参数,然后使用 if 语句调用 Pc.__init__() 适本地取决于所使用的形式。