python带参数__init__的使用

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

1、说明

如果初始化函数中的属性不是私有的话,是不会报错的。但是私有属性一定会报错,因为私有属性是无法继承的。为了让它不报错,就可以用到 super 了。

如果继承父类,那么定义在父类 __init__ 中的相同的属性会覆盖子类中的。

如果父类含有一个带参数的初始化方法的时候,子类一定需要一个初始化方法,并且在初始化方法中调用父类的初始化方法。

2、实例

classBase:
def__init__(self,a,b):
self.__a=a
self.__b=b

defsum(self):
returnself.__a+self.__b

classSub(Base):
def__init__(self,a,b,c):
self.c=c
#直接调用父类的初始化方法
super().__init__(a,b)

>>>Sub(1,2,3).sum()
Out[6]:3
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。