super()函数
如果子类重写了父类的方法,但仍希望调用父类中的方法,该如何实现呢?Python提供了一个super()函数,该函数可以调用父类中的方法。
super()函数使用方法如下:
super().方法名()
使用super()函数在Cat类中调用Felines类中的spciality()方法,示例代码如下:
class Cat(Felines):
name = "猫"
def speciality(self):
print(f'{self.name}会抓老鼠')
print(f'{self.name}会爬树')
print('-' * 20)
super().speciality()
再次使用cat对象调用speciality()方法,示例代码如下:
cat = Cat()
cat.speciality()
运行程序,结果如下所示:
猫会抓老鼠
猫会爬树
--------------------
猫科动物特长是爬树
从输出结果中可以看出,通过super()函数可以访问被重写的父类方法。