python可以多继承吗
python面向对象的主要好处就是代码的重用,实现这一特点通过继承,继承创建的新类成为子类,被继承的类称为父类。
如果在子类中需要父类的构造方法就需要显示的调用父类的构造方法,在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数变量。
下面我们开始来讲解继承和多继承
首先我们创建两个类,
父类:Father类子类:Child
父类中属性为money,和一个方法play(),输出
fatherplaywithme
来表示继承父类的方法。在继承的时候我们需要在子类中导入父类
父类的代码如下:
classFather(object):
def__init__(self,money):
self.money=money
print('money',money)
defplay(self):
print('fatherplaywithme')
因为孩子是继承父亲的,所以孩子类中也有money属性。所以我们直接用child来继承Father类。
child代码如下:
fromFatherimportFather
classChild(Mother,Father):
def__init__(self,money):
Father.__init__(self,money)
这个时候我们的child类就继承来自父类的属性money而且我们还继承了来自父类的方法play(),我们可以直接调用。
来验证一下
fromChildimportChild
defmain():
c=Child(100)
c.play()
if__name__=='__main__':
main()
我们从输出台可以得到money100fatherplaywithme
多继承
单继承有时候可能满足不了我们所需的所以我们就会遇到多继承,这个同样能够展示出代码的重用。
同样是上边的例子,child不仅仅是继承来自父亲,还继承来自母亲。所以我们创建mother类
classMother(object):
def__init__(self,face):
self.face=face
print('face',face)
defplay(self):
print('mothergoshoppingwithme')
mothe类创建的属性为face,其次我们还定义的一个相同的方法play是为了展示多继承中如果有相同的函数会调用哪个。
然后我们重写一下child类
fromFatherimportFather
fromMotherimportMother
classChild(Mother,Father):
def__init__(self,money,face):
Father.__init__(self,money)
Mother.__init__(self,face)
以上内容为大家介绍了Python培训之可以多继承吗,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。
相关推荐HOT
更多>>python正则表达式中的零宽断言
python正则表达式中的零宽断言1、概念有些元字符不匹配任何字符,只是简单的表示成功或失败,所以这些字符也叫零宽断言。2、符号举例(1)|或操作...详情>>
2023-11-14 11:35:03python方法的绑定和未绑定
python方法的绑定和未绑定1、说明未绑定对象的方法:无self参数的方法,通过定义类调用函数,返回未绑定self的方法。绑定对象的方法:带self参...详情>>
2023-11-14 09:53:02python海象运算符的使用
python海象运算符的使用1、在判断条件下允许操作。在一定程度上简化了代码,但降低了可读性。i=len((l:=[1,2,3]))#先对l进行赋值,在对i赋值whi...详情>>
2023-11-14 02:38:21pythonelif语句报错是什么原因
python的else和elif语句也可以叫做子句,因为它们不能独立使用,两者都是出现在if、for、while语句内部的。else子句可以增加一种选择;而elif子...详情>>
2023-11-13 21:46:35