# 继承:父类又可以称为基类,超类;子类又可以称为派生类# 继承的好处:# a,提高了代码的复用性# b:提高了代码的维护性# c:让类与类之间产生了关系,是多态的前提# class Animal:# def __init__(self,name,sex):# self.name=name# self.sex=sex# def eat(self,a):# print("都得吃%s"%a)# def drink(self):# print("都得喝")# class Dog(Animal):# def __init__(self,name,sex,Varieties):# # Animal.__init__(self,name,sex)# super().__init__(name, sex)# self.Varieties=Varieties# def bite(self):# print("咬人")# def eat(self,a):# # Animal.eat(1)# super().eat(a)# print("吃肉")# class Cat(Animal):# def Oestrus(self):# print("发情")# class Chicken(Animal):# def lay(self):# print("下蛋")# d1=Dog("Tom","公","哈士奇")# d1.eat("肉")# print(d1.__dict__)# 初识继承:# 只执行本类的方法# 只执行父类的方法.# 既执行本类又执行父类的方法# 父类名.方法名(参数)# super().方法名(参数(self自动传值))# 继承分为:单继承和多继承# 类可以分为经典类和新式类,python3中全为新式类,而python2中加object的都为新式类,其他都是经典类# 单继承中经典类和新式类执行相同方法顺序是相同的# 多级承中:新式类执行顺序是广度优先,意思是一条路走到倒数第二级,判断,如果其他路能走到终点,则返回走另一条路.如果不能,则走到终点.# 经典类中执行顺序是深度优先,意思是一条路走到底.# class A:# def func(self):# print("A")# class B(A):# def func(self):# print("B")# class C(A):# def func(self):# print("C")# class D(B):# def func(self):# print("D")# class E(C):# def func(self):# print("E")# class F(D):# def func(self):# print("F")# class G(F,E):# def func(self):# print("G")# g=G()# g.func()# print(G.mro())#.mro查询执行顺序