python3中类的继承
2021/10/18 17:09:59
本文主要是介绍python3中类的继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、假设定义一个鸟类 BirdBase,包含两个属性name、age;两个方法eat(),fly()
#!/usr/bin/env python # -*- coding: utf-8 -*- # @File : bird_base.py # @Author: ttwang # @Date : 2021/10/18 # @Desc : 鸟类BirdBase class BirdBase(object): """ 假设定义一个鸟类BirdBase 其中两个属性name,age 两个方法eat(),fly() #ps: python3中,类定义默认继承object,可以不写,但是建议写上 """ def __init__(self,name,age): self.name = name self.age = age def eat(self): print("Bird" + self.name + "is eating foods") def fly(self): print("Bird" + self.name + "is flying")
2、假设此时我们还有个类Swallow,该类中也包含上面BirdBase类的两个方法和两个属性,然后还有自己的属性color和方法swallow_chirp(),
我们可以选择不用重写这两个方法,直接从BirdBase类中继承过来,直接使用:
1)首先将BirdBase类导入,然后Swallow类继承它:from 模块名 import 类名
2)对于BirdBase类中没有的属性和方法,我们需要单独定义
#!/usr/bin/env python # -*- coding: utf-8 -*- # @File : swallow.py # @Author: ttwang # @Date : 2021/10/18 # @Desc : Swallow类 from python_learning.bird_base import BirdBase class Swallow(BirdBase): # Swallow继承BirdBase def __init__(self,name,age,color): """ super()函数表示调用父类BirdBase的__init__()方法进行初始化; 但Swallow类中有自己特定的属性color,而父类中无改属性,故单独赋值: self.color = color """ super(Swallow, self).__init__(name,age) self.color = color def swallow_chirp(self): """ Swallow类同样可以有自己特定的方法 """ print("Swallow" + self.name + "is chirping, it is" + self.color) my_swallow = Swallow('humy',18,'black') my_swallow.swallow_chirp() my_swallow.eat() my_swallow.fly()
输出:
# 从输出结果,可以看出Swallow类即可以调用自己类中特定的方法,也可以调用父类BirdBase中的方法 Swallow humy is chirping, it is black Bird humy is eating foods Bird humy is flying
这篇关于python3中类的继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享
- 2024-12-19使用python 把docx转为pdf文件有哪些方法?-icode9专业技术文章分享
- 2024-12-19python怎么更换换pip的源镜像?-icode9专业技术文章分享