python类继承用法实例分析


Posted in Python onOctober 10, 2014

本文实例讲述了python类继承用法。分享给大家供大家参考。具体方法如下:

#!/usr/bin/python
# Filename: inherit.py

class SchoolMember:
  '''Represents any school member.'''
  def __init__(self, name, age):
    self.name = name
    self.age = age
    print'(Initialized SchoolMember: %s)'% self.name

  def tell(self):
    '''Tell my details.'''
    print'Name:"%s" Age:"%s"'% (self.name, self.age),

class Teacher(SchoolMember):
  '''Represents a teacher.'''
  def __init__(self, name, age, salary):
    SchoolMember.__init__(self, name, age)
    self.salary = salary
    print'(Initialized Teacher: %s)'% self.name

  def tell(self):
    SchoolMember.tell(self)
    print'Salary: "%d"'% self.salary

class Student(SchoolMember):
  '''Represents a student.'''
  def __init__(self, name, age, marks):
    SchoolMember.__init__(self, name, age)
    self.marks = marks
    print'(Initialized Student: %s)'% self.name

  def tell(self):
    SchoolMember.tell(self)
    print'Marks: "%d"'% self.marks

t = Teacher('Mrs. Shrividya',40,30000)
s = Student('Swaroop',22,75)
members = [t, s]
for member in members:
  member.tell()# works for both Teachers and Students

运行输出结果如下:

(Initialized SchoolMember: Mrs. Shrividya)
(Initialized Teacher: Mrs. Shrividya)
(Initialized SchoolMember: Swaroop)
(Initialized Student: Swaroop)
Name:"Mrs. Shrividya" Age:"40" Salary: "30000"
Name:"Swaroop" Age:"22" Marks: "75"

它是如何工作的

为了使用继承,我们把基本类的名称作为一个元组跟在定义类时的类名称之后。然后,我们注意到基本类的__init__方法专门使用self变量调用,这样我们就可以初始化对象的基本类部分。这一点十分重要——Python不会自动调用基本类的constructor,你得亲自专门调用它。

我们还观察到我们在方法调用之前加上类名称前缀,然后把self变量及其他参数传递给它。

注意,在我们使用SchoolMember类的tell方法的时候,我们把Teacher和Student的实例仅仅作为SchoolMember的实例。

另外,在这个例子中,我们调用了子类型的tell方法,而不是SchoolMember类的tell方法。可以这样来理解,Python总是首先查找对应类型的方法,在这个例子中就是如此。如果它不能在导出类中找到对应的方法,它才开始到基本类中逐个查找。基本类是在类定义的时候,在元组之中指明的。

一个术语的注释——如果在继承元组中列了一个以上的类,那么它就被称作多重继承

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
初步探究Python程序的执行原理
Apr 11 Python
在Python中测试访问同一数据的竞争条件的方法
Apr 23 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 Python
一文带你了解Python中的字符串是什么
Nov 20 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 Python
解决python执行较大excel文件openpyxl慢问题
May 15 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
Linux系统下升级pip的完整步骤
Jan 31 Python
python 实现mysql自动增删分区的方法
Apr 01 Python
Python OpenGL基本配置方式
May 20 Python
python中元类用法实例
Oct 10 #Python
跟老齐学Python之总结参数的传递
Oct 10 #Python
跟老齐学Python之变量和参数
Oct 10 #Python
跟老齐学Python之重回函数
Oct 10 #Python
跟老齐学Python之Python文档
Oct 10 #Python
跟老齐学Python之大话题小函数(2)
Oct 10 #Python
跟老齐学Python之大话题小函数(1)
Oct 10 #Python
You might like
Php做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
php中函数前加&符号的作用分解
2014/07/08 PHP
Linux下手动编译安装PHP扩展的例子分享
2014/07/15 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
vue实现底部菜单功能
2018/07/24 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
windows 下python+numpy安装实用教程
2017/12/23 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
python微信公众号之关键词自动回复
2018/06/15 Python
python Web开发你要理解的WSGI & uwsgi详解
2018/08/01 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
Python调用百度OCR实现图片文字识别的示例代码
2020/07/17 Python
酒店中秋节促销方案
2014/01/30 职场文书
个人实习生的自我评价
2014/02/16 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
优秀员工自荐书
2015/03/06 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
营业员岗位职责范本
2015/04/14 职场文书
客户付款通知书
2015/04/23 职场文书