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爬虫之爬虫的定义及URL构成
Nov 04 Python
Python中DJANGO简单测试实例
May 11 Python
Python IDE PyCharm的基本快捷键和配置简介
Nov 04 Python
python简单贪吃蛇开发
Jan 28 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
python django model联合主键的例子
Aug 06 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
Python彻底删除文件夹及其子文件方式
Dec 23 Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 Python
利用keras使用神经网络预测销量操作
Jul 07 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
php依赖注入知识点详解
2019/09/23 PHP
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
jquery改变tr背景色的示例代码
2013/12/28 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jQuery中hover与mouseover和mouseout的区别分析
2015/12/24 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
jQuery基于ajax操作json数据简单示例
2017/01/05 Javascript
javaScript基础详解
2017/01/19 Javascript
老生常谈Bootstrap媒体对象
2017/07/06 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
JS控制鼠标拒绝点击某一按钮的实例
2017/12/29 Javascript
Vuex提升学习篇
2018/01/11 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
[04:28]2014DOTA2国际邀请赛 采访小兔子LGD挺进钥匙体育馆
2014/07/14 DOTA
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
python通过函数属性实现全局变量的方法
2015/05/16 Python
Python验证企业工商注册码
2015/10/25 Python
python学生管理系统代码实现
2020/04/05 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
使用matplotlib画散点图的方法
2018/05/25 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
phpquery中文手册
2021/03/18 PHP
实习护理工作自我评价
2013/09/25 职场文书
物业管理工作方案
2014/05/10 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
python中的3种定义类方法
2021/11/27 Python