在 Python 中,类继承用于让一个类(子类)获得另一个类(父类 / 基类)的属性和方法。下面从基础到常见用法给你讲清楚。
class 父类:
def __init__(self):
self.name = "父类"
def hello(self):
print("Hello from 父类")
class 子类(父类):
pass
s = 子类()
s.hello() # Hello from 父类
print(s.name) # 父类
✅ 子类自动拥有父类的方法和属性。
class Animal:
def speak(self):
print("动物叫")
class Dog(Animal):
def speak(self):
print("汪汪汪")
d = Dog()
d.speak() # 汪汪汪
__init__ 时常见class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def __init__(self, name, age):
super().__init__(name)
self.age = age
d = Dog("小狗", 3)
print(d.name, d.age)
✅ super() 用来调用父类的方法。
class A:
def foo(self):
print("A")
class B:
def bar(self):
print("B")
class C(A, B):
pass
c = C()
c.foo()
c.bar()
⚠️ 多继承要注意 方法解析顺序(MRO)
print(C.__mro__)
issubclass(Dog, Animal) # True
isinstance(d, Animal) # True
| 形式 | 说明 |
|---|---|
| 单继承 | class B(A) |
| 多继承 | class C(A, B) |
| 方法重写 | 子类定义同名方法 |
| 扩展父类 | super() |
| 抽象基类 | abc.ABC |
如果你愿意,我可以:
你想看哪一个?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。