第8.9节 Python类中内置的查看直接父类的__bases__属性

终于介绍完了__init__方法和__new__方法,接下来轻松一下,本节介绍类中内置的__bases__属性。
一、 语法释义
Python 为所有类都提供了一个 bases 属性,通过该属性可以查看该类的所有直接父类,该属性返回所有直接父类组成的元组。注意是直接父类!!!
使用语法:类名.bases
二、 举例说明
举例:定义三个类Vehicle(车)、Automobile(汽车)、Car(小汽车),为了说明问题,将Car设置为继承自Vehicle和Automobile两个类,而Automobile继承Vehicle。类定义如下:

class Vehicle():
   def __init__(self,wheelcount):
       self.wheelcount = wheelcount
  
class Automobile(Vehicle):
      def __init__(self,wheelcount,power):
          self.power,self.totaldistance = '燃油发动机',0
          super().__init__(wheelcount) 
          
class Car(Automobile,Vehicle):  
    def __init__(self,wheelcount, power,oilcostperkm):
        self.oilcostperkm = oilcostperkm
        super().__init__(wheelcount, power)

我们来查看这三个类的__bases__,得出结论如下:

  1. Car.的直接父类是Automobile、Vehicle;
  2. Automobile的直接父类是Vehicle;
  3. Automobile的直接父类是object。
    具体执行截屏如下:
    在这里插入图片描述
    注意:在类的实例是没有__bases__属性的。如下访问报错:
    在这里插入图片描述
    老猿Python系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。
    欢迎大家批评指正,谢谢大家关注!
原文地址:https://www.cnblogs.com/LaoYuanPython/p/11094168.html