Python中super函数有什么用?Python怎么使用super()函数

python之中的类是可以继承多个父类的,而类在实例化时也会去调用父类中的构造方法 。那么当有多个父类时会默认调用排在前列的父类构造方法,而super()函数的作用就是去同时调用所有父类的构造方法 。而super()函数的使用还要有一些其他操作了,往下看看吧 。

Python中super函数有什么用?Python怎么使用super()函数

文章插图
因为继承了父类的子类在实例化时会连同父类的构造方法一起调用,所以它需要传递所有类的构造函数需要的参数进去,否则满足了第一个类的参数需求而无法满足其余父类构造方法参数需求的话就会发生报错 。
而这么情况就需要在子类里面重写父类的构造函数了,因为子类重写构造函数之后,子类在实例化时自身构造方法以及父类构造方法都必须去调用 。而且python类中的构造方法都是同一个名称和格式,所以重写一次就相当于重写所有父类的构造方法 。
【Python中super函数有什么用?Python怎么使用super()函数】而重写构造方法之后因为强制调用的缘故,就需要用到super()函数来手动的调用父类构造方法了 。这样才能在实例化类对象时不会发生错误,示例如下所示:
class Manager(Employee, Customer):    def __init__(self, salary, favorite, address):        print('--Manager的构造方法--')        super().__init__(salary)        Customer.__init__(self, favorite, address)m = Manager(500, '产品', '广')m.work()m.info()在实例化子类对象时就传递了三个参数进去,因为这三个参数是重写父类构造方法之后将它们所需要的参数都放在了子类的构造方法之中,这样在调用父类构造方法时就不会再出现参数不够而报错的问题了 。
以上就是关于“Python中super()函数有什么用?Python怎么使用super()函数”的全部内容了,希望对你有所帮助 。

    推荐阅读