【发布时间】:2018-04-29 14:33:05
【问题描述】:
我有一个父类和几个子类。每个子类接受不同的参数,但所有子类都有一些共同的参数。我不想为每个子类编写“公共参数”。我该怎么做?
class Parent:
def __init__(self, name):
self.name = name
class Subclass(Parent):
def __init__(self, age):
self.age = age
def do_something(self):
print(self.name)
instance = Subclass(name="Test", age=42)
instance.do_something() # 42
【问题讨论】:
-
把所有公共属性都保留在父级中,这样子级就可以继承它们(这就是继承的全部意义)。请记住,要打电话给父母
__init__,您必须拨打super().__init__(name)。如果您使用的是多重继承,它会变得更加复杂,您应该先查看 Python MRO。
标签: python python-3.x class inheritance