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 相关文章推荐
python实现的解析crontab配置文件代码
Jun 30 Python
浅析python中的分片与截断序列
Aug 09 Python
Ubuntu 下 vim 搭建python 环境 配置
Jun 12 Python
使用paramiko远程执行命令、下发文件的实例
Oct 01 Python
python使用tensorflow保存、加载和使用模型的方法
Jan 31 Python
python购物车程序简单代码
Apr 18 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
python实现简单的单变量线性回归方法
Nov 08 Python
在Python中调用Ping命令,批量IP的方法
Jan 26 Python
Python中函数参数匹配模型详解
Jun 09 Python
python redis连接 有序集合去重的代码
Aug 04 Python
如何利用python和DOS获取wifi密码
Mar 31 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函数代码
2010/04/22 PHP
php源码加密 仿微盾PHP加密专家(PHPCodeLock)
2010/05/06 PHP
jquery五角星评分插件示例分享
2014/02/21 Javascript
js中的cookie的读写操作示例详解
2014/04/17 Javascript
jQuery中find()方法用法实例
2015/01/07 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
详解Nuxt内导航栏的两种实现方式
2020/04/16 Javascript
webpack+express实现文件精确缓存的示例代码
2020/06/11 Javascript
js实现盒子拖拽动画效果
2020/08/09 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
python文件读写代码实例
2019/10/21 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
资产经营总监岗位职责
2013/12/04 职场文书
中层干部岗位职责
2013/12/18 职场文书
协议书格式
2014/04/23 职场文书
合作协议书范文
2014/08/20 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
领导四风问题整改措施思想汇报
2014/10/13 职场文书
中层干部考核评语
2015/01/04 职场文书
欠款起诉书范文
2015/05/19 职场文书
毕业证明书
2015/06/19 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python