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

时间:2022-05-20 07:26:44

终于介绍完了__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。

    具体执行截屏如下:

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

    注意:在类的实例是没有__bases__属性的。如下访问报错:

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

    老猿Python系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。

    欢迎大家批评指正,谢谢大家关注!