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 相关文章推荐
windows下安装python paramiko模块的代码
Feb 10 Python
python3编写C/S网络程序实例教程
Aug 25 Python
python实现的简单窗口倒计时界面实例
May 05 Python
在python3环境下的Django中使用MySQL数据库的实例
Aug 29 Python
python实现简单遗传算法
Mar 19 Python
PyQt4编程之让状态栏显示信息的方法
Jun 18 Python
使用django的ORM框架按月统计近一年内的数据方法
Jul 18 Python
关于Python 常用获取元素 Driver 总结
Nov 24 Python
flask框架json数据的拿取和返回操作示例
Nov 28 Python
Python partial函数原理及用法解析
Dec 11 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
如何使用Tkinter进行窗口的管理与设置
Jun 30 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 5.0对象模型深度探索之绑定
2006/09/05 PHP
非常好的php目录导航文件代码
2006/10/09 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
JAVASCRIPT实现的WEB页面跳转以及页面间传值方法
2010/05/13 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
js工具方法弹出蒙版
2013/05/08 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
JS组件Bootstrap实现弹出框效果代码
2016/04/26 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
VUE实现密码验证与提示功能
2019/10/18 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
[01:00:11]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第一场 2月7日
2021/03/11 DOTA
Python中处理字符串之endswith()方法的使用简介
2015/05/18 Python
Python数据类型详解(三)元祖:tuple
2016/05/08 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
详解python和matlab的优势与区别
2019/06/28 Python
解决python 找不到module的问题
2020/02/12 Python
Python基于os.environ从windows获取环境变量
2020/06/09 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
Python编写万花尺图案实例
2021/01/03 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
存储过程的优点有哪些
2012/09/27 面试题
大学生自我评价怎样写好
2013/10/23 职场文书
2014迎国庆标语大全
2014/09/19 职场文书