python的多继承
2018-06-18 02:03:08来源:未知 阅读 ()
昨天被室友拖着去吃鸡去了,所以没有学习,该反省。只有今天多学习一点,将昨天的补回来。
今天学习了python的多继承。
觉得多继承还是有点难,今天在学习多继承的实收,一不小心将一个父类的构造函数的名称写错了,然后就出现了bug,找了好久,才发现是上面写错了,结果编辑器报错的地方与我真正出错的地方差了好远,所以大家写代码要仔细一点,找bug真的是恼火。
好了,言归正传,开始正文。
class People(object): # 这是第一个父类
name=""
age=0
__weight=0 # 私有属性
def __init__(self,name,age,weight):
self.name=name
self.age=age
self.__weight=weight
def speak(self):
print(self.name,self.age,self.__weight)
# 在继承类的时候 类名后面的括号里写的就是你需要继承的类,可以看出来这是一个单继承
class Student(People): #这里定义了一个子类,而且继承了上面的people类
grade=""
def __init__(self,name,age,weight,grade):
People.__init__(self,name,age,weight)
self.grade=grade
def print_sutdent(self):
print(self.grade)
# 在这儿再创建一个类
class Speaker(object):
topic=""
name=""
def __init__(self,name,topic):
self.name=name
self.topic=topic
def print_speak(self):
print(self.name,self.topic)
# 这儿就是今天的主角了,类的多继承,可以看到,类名之后的括号里,就是写的你需要继承的父类的名称。
# 注意,父类的书序很重要,比如说你需要调用一个子类没有而父类却有的方法,那么python解释器将会在父类之中从左到右寻找你调用的方法。
class Sample(Student,Speaker):
a=""
# 这里很重要,这里是继承父类的构造函数的写法
def __init__(self,name,age,weight,grade,topic,a):
Student.__init__(self,name,age,weight,grade)
Speaker.__init__(self,name,topic)
self.a=a
# 这里叫做方法重写:意思就是如果父类中存在这个方法,但是功能不能满足子类的需求,那么你就可以在子类中重新定义一个函数名称和父类的相同,
#然后这个实例在调用该方法的时候,就会调用子类中的你重写的方法。
def print_speak(self):
print(self.name,self.age,self.grade,self.topic,self.a)
# 使用子类生成实例
test=Sample("tim",25,80,99,"python",10)
# 调用子类中重写的方法
test.print_speak()
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash