python 类的继承
一、单继承
# 例如
class Chinese:
"""这是一个中国人类"""
eyes = "black"
color = "yellow"
hair = "black"
def say(self):
print("会说普通话")
def use(self):
print("吃饭用筷子")
class HuNang(Chinese): # Chinese为父类。HuNang类继承Chinese类
# 继承后拥有父类所有方法和属性
"""这是一个湖南人类"""
def eat(self):
print("喜欢吃辣!")
def use(self):
print("使用中文")
super().use() # 类的内部调用父类方法
# 继承或多继承,可用super()方法更加便捷的调用父类方法
ll = HuNang() # 实例化对象
ll.eat() # 调用自身方法
ll.say() # 调用父类方法
print(ll.eyes) # 调用父类属性
print(ll.color)
ll.use()
运行结果
二、多继承
# 例如
class A:
def p(self):
print("我是A类")
class B:
def p(self):
print("我是B类")
class C(A):
def p(self):
print("我是C类")
class D(B):
def p(self):
print("我是D类")
class E(C, D):
def p(self):
print("我是E类")
gg = E() # 此时类中的self始终指向的是gg,所有方法选择的优先级始终从E开始判断的
# E无--->C,C无--->A,A无--->D,D无--->B
gg.p() # 我是E类
多继承流程图1
多继承流程图2(有个类F同时继承了A和B)