终于介绍完了__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__,得出结论如下:
- Car.的直接父类是Automobile、Vehicle;
- Automobile的直接父类是Vehicle;
- Automobile的直接父类是object。
具体执行截屏如下:
注意:在类的实例是没有__bases__属性的。如下访问报错:
老猿Python系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。
欢迎大家批评指正,谢谢大家关注!