Python类的定义、继承及类对象使用方法简明教程


Posted in Python onMay 08, 2015

Python编程中类的概念可以比作是某种类型集合的描述,如“人类”可以被看作一个类,然后用人类这个类定义出每个具体的人——你、我、他等作为其对象。类还拥有属性和功能,属性即类本身的一些特性,如人类有名字、身高和体重等属性,而具体值则会根据每个人的不同;功能则是类所能实现的行为,如人类拥有吃饭、走路和睡觉等功能。具体的形式如下:

# 例:类的概念
class 人类:
  名字 = '未命名' # 成员变量
  def 说话(内容): # 成员函数
    print 内容      # 成员变量赋初始值 

某人 = 人类()    # 定义一个人类对象某人
某人.名字 = "路人甲"
某人.说话  ('大家好')  # 路人甲说话
>>> 大家好!      # 输出

Python中定义和使用类的形式为:class 类名[(父类名)]:[成员函数及成员变量],类名为这个类的名称,而父类名为可选,但定义父类名后,子类则拥有父类的相应属性和方法。在用类定义成对象时,会先调用__init__构造函数,以初始化对象的各属性,类的各属性(成员变量)均可以在构造函数中定义,定义时只要加上对象指针就好了。而在对象销毁时,则会调用__del__析构函数,定义类的成员函数时,必须默认一个变量(类似于C++中的this指针)代表类定义的对象本身,这个变量的名称可自行定义,下面例子将使用self变量表示类对象变量。

# 例:类定义及使用
class CAnimal:
  name = 'unname' # 成员变量 
  def __init__(self,voice='hello'):  # 重载构造函数
    self.voice = voice      # 创建成员变量并赋初始值
  def __del__(self):       # 重载析构函数
    pass        # 空操作
  def Say(self):
    print self.voice

t = CAnimal()    # 定义动物对象t
t.Say()    # t说话
>> hello      # 输出
dog = CAnimal('wow')  # 定义动物对象dog
dog.Say()      # dog说话
>> wow      # 输出

 Python编程中类可以承继父类属性,形式为class 类名(父类),子类可以继承父类的所有方法和属性,也可以重载父类的成员函数及属性,须注意的是子类成员函数若重载父类(即名字相同),则会使用子类成员函数

# 例:类的继承
class CAnimal:
  def __init__(self,voice='hello'): # voice初始化默认为hello
    self.voice = voice
  def Say(self):
    print self.voice
  def Run(self):
    pass  # 空操作语句(不做任何操作)

class CDog(CAnimal):    # 继承类CAnimal
  def SetVoice(self,voice): # 子类增加函数SetVoice
    self.voice = voice
  def Run(self,voice): # 子类重载函数Run
    print 'Running'

bobo = CDog()
bobo.SetVoice('My Name is BoBo!')   # 设置child.data为hello
bobo.Say()
bobo.Run()

>> My Name is BoBo!
>> Running
Python 相关文章推荐
零基础学Python(一)Python环境安装
Aug 20 Python
Python学习小技巧之列表项的推导式与过滤操作
May 20 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
Jul 28 Python
python实现决策树
Dec 21 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
python中通过selenium简单操作及元素定位知识点总结
Sep 10 Python
python时间日期操作方法实例小结
Feb 06 Python
解决python -m pip install --upgrade pip 升级不成功问题
Mar 05 Python
matplotlib.pyplot.plot()参数使用详解
Jul 28 Python
python判断all函数输出结果是否为true的方法
Dec 03 Python
Python面向对象之成员相关知识总结
Jun 24 Python
python通过imaplib模块读取gmail里邮件的方法
May 08 #Python
Python类定义和类继承详解
May 08 #Python
python使用smtplib模块通过gmail实现邮件发送的方法
May 08 #Python
python通过ftplib登录到ftp服务器的方法
May 08 #Python
python操作sqlite的CRUD实例分析
May 08 #Python
python实现在sqlite动态创建表的方法
May 08 #Python
python查询sqlite数据表的方法
May 08 #Python
You might like
20个PHP常用类库小结
2011/09/11 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
php文件上传及下载附带显示文件及目录功能
2017/04/27 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
在视频前插入广告
2006/11/20 Javascript
JavaScript高级程序设计(第3版)学习笔记 概述
2012/10/11 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
jquery中文乱码的多种解决方法
2013/06/21 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
JavaScript实现动态创建CSS样式规则方案
2014/09/06 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
详解Angular5 路由传参的3种方法
2018/04/28 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
Vue中用JSON实现刷新界面不影响倒计时
2020/10/26 Javascript
Python中Collection的使用小技巧
2014/08/18 Python
在Python的循环体中使用else语句的方法
2015/03/30 Python
Python编程生成随机用户名及密码的方法示例
2017/05/05 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
python如何通过twisted实现数据库异步插入
2018/03/20 Python
python中pylint使用方法(pylint代码检查)
2018/04/06 Python
python将.ppm格式图片转换成.jpg格式文件的方法
2018/10/27 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
Python实现的爬取百度贴吧图片功能完整示例
2019/05/10 Python
美国在线珠宝商店:SZUL
2017/02/11 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
英国排名第一的在线宠物用品商店:Monster Pet Supplies
2018/05/20 全球购物
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
介绍一下Make? 为什么使用make
2016/07/31 面试题
科室工作的个人自我评价
2013/10/30 职场文书
2014年秋季新学期寄语
2014/08/02 职场文书
工作态度不好检讨书
2015/05/06 职场文书
用python自动生成日历
2021/04/24 Python
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle