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 之编写简单乘法运算题
Feb 27 Python
python实现隐马尔科夫模型HMM
Mar 25 Python
解决nohup重定向python输出到文件不成功的问题
May 11 Python
Random 在 Python 中的使用方法
Aug 09 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
Feb 05 Python
python字符串替换re.sub()实例解析
Feb 09 Python
python数据分析:关键字提取方式
Feb 24 Python
如何理解Python中的变量
Jun 01 Python
Python中Selenium库使用教程详解
Jul 23 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
Jupyter Notebook 远程访问配置详解
Jan 11 Python
python实现简单的聊天小程序
Jul 07 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目录导航文件代码
2006/10/09 PHP
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
2007/03/24 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
基于iview-admin实现动态路由的示例代码
2019/10/02 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
python的dataframe和matrix的互换方法
2018/04/11 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
Python包和模块的分发详细介绍
2020/06/19 Python
viagogo波兰票务平台:演唱会、体育比赛、戏剧门票
2018/04/23 全球购物
美国宠物美容和宠物用品购物网站:Cherrybrook
2018/12/07 全球购物
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
毕业生自荐信
2013/12/14 职场文书
迎新晚会主持词
2014/03/24 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
大二学年个人总结
2015/03/03 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
2015年体育教师个人工作总结
2015/05/12 职场文书
律政俏佳人观后感
2015/06/09 职场文书
环保主题班会教案
2015/08/13 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
纯CSS3实现div按照顺序出入效果
2021/07/15 HTML / CSS