首页 > 代码库 > Python内置函数之super()
Python内置函数之super()
super(type[,object-or-type])
super()的作用在于类继承方面。
他可以实现不更改类内部代码,但是改变类的父类。
例子:
一般我们继承类的方式: >>> class A: ... def __init__(self): ... print(A.__init__) ... >>> class B(A): ... def __init__(self): ... print(B.__init__) ... A.__init__(self) ... >>> b = B() <function B.__init__ at 0x000000E8A87DC840> <function A.__init__ at 0x000000E8A87DC9D8> 这样有一个问题,当B的父类换为A1时,又要去修改B类内部的值,这样做很不方便! 于是有了super()这样的替代方式: >>> class B(A): ... def __init__(self): ... print(B.__init__) ... super().__init__() #等效于super(B,self).__init__() ... >>> b = B() <function B.__init__ at 0x000000E8A87DC7B8> <function A.__init__ at 0x000000E8A87DC9D8> 这样的方式避免了修改B类的内部,便于维护了。 如果只有一个参数,则不会继承父类。#super(B).__init__(),只会调用B类本身 如果第二个参数是一个类对象,那么该类对象是第一个参数的子类。
Python内置函数之super()
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。