python单继承和多继承如何定义?

单继承指子类仅继承一个父类,如Dog(Animal);多继承可继承多个父类,如Duck(Flyable, Swimmable),通过MRO确定方法调用顺序。

在Python中,类的继承分为单继承和多继承,它们通过类定义时括号内的父类来区分。

单继承的定义

单继承是指一个子类只继承一个父类,子类会拥有父类的属性和方法。

格式如下:

class 子类名(父类名):
    类体内容

示例:

class Animal:
    def speak(self):
        print("动物叫")

class Dog(Animal): def bark(self): print("汪汪")

使用

d = Dog() d.speak() # 输出:动物叫(继承自Animal) d.bark() # 输出:汪汪(Dog自己的方法)

多继承的定义

多继承是指一个子类可以同时继承多个父类,从而具备多个父类的特性。

格式如下:

class 子类名(父类1, 父类2, ...):
    类体内容

示例:

class Flyable:
    def fly(self):
        print("能飞行")

class Swimmable: def swim(self): print("会游泳")

class Duck(Flyable, Swimmable): def quack(self): print("嘎嘎叫")

使用

duck = Duck() duck.fly() # 输出:能飞行 duck.swim() # 输出:会游泳 duck.quack() # 输出:嘎嘎叫

注意:当存在多个父类且有同名方法时,Python使用MRO(方法解析顺序)来决定调用哪个父类的方法。可通过 Duck.__mro__ 查看查找顺序。

基本上就这些,定义时括号里写一个就是单继承,写多个就是多继承,关键在于理解继承带来的属性共享和调用顺序。