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 解析html之BeautifulSoup
Jul 07 Python
Python批量创建迅雷任务及创建多个文件
Feb 13 Python
Python科学计算之NumPy入门教程
Jan 15 Python
Python初学时购物车程序练习实例(推荐)
Aug 08 Python
Python实现运行其他程序的四种方式实例分析
Aug 17 Python
python使用生成器实现可迭代对象
Mar 20 Python
浅析python中的迭代与迭代对象
Oct 08 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
python使用socket实现的传输demo示例【基于TCP协议】
Sep 24 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 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
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
php实现分页工具类分享
2014/01/09 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
php 浮点数比较方法详解
2017/05/05 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
京东优选小程序的实现代码示例
2020/02/25 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
python如何创建TCP服务端和客户端
2018/08/26 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
德国排名第一的主题公园门票网站:Attraction Tickets Direct
2019/09/09 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
土木工程实习生自我鉴定
2013/09/19 职场文书
后勤人员岗位职责
2013/12/17 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
纪律教育月活动总结
2014/08/26 职场文书
解放思想演讲稿
2014/09/11 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
通知书大全
2015/04/27 职场文书
师德承诺书2015
2015/04/28 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
Python OpenCV 彩色与灰度图像的转换实现
2021/06/05 Python
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server