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

[python] view plain copy

例:类的概念

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

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

大家好! # 输出

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

__也表示私有,如果要调用,必须采用实例名.类名.方法的形式进行调用。

[python] view plain copy

例:类定义及使用

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 类名(父类),子类可以继承父类的所有方法和属性,也可以重载父类的成员函数及属性,须注意的是子类成员函数若重载父类(即名字相同),则会使用子类成员函数,其实准确的来讲这个概念在C++里应该是隐藏:

[python] view plain copy

例:类的继承

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): # 子类重载函数Run
print 'Running'

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

My Name is BoBo!
Running

转载于:https://www.cnblogs.com/kongk/p/8643307.html

python里类的概念相关推荐

  1. python元类的概念_Python中的元类编程 | 学步园

    过去有这样的概念,一直没有深究它的意义.今天同事问到,刚好也好好了解下. #===============================================Python中的元类编程=== ...

  2. 沐阳Python扫盲01类的概念与实例

    沐阳Python扫盲01类的概念与实例 文章目录 沐阳Python扫盲01类的概念与实例 前言 一.面向过程编程的实现 二.面向对象编程的实现 总结 前言 让我们从一个实际的游戏人物例子出发,学习理解 ...

  3. python装饰器类-PYTHON里的装饰器能装饰类吗

    扩展回答 如何理解python里的装饰器 通常可以理解它是一个hook 的回调函数. 或者是理解成python 留给二次开发的一个内置API. 一般是用回调和hook 方式实现的. 如何理解Pytho ...

  4. python类装饰器详解-Python装饰器基础概念与用法详解

    本文实例讲述了Python装饰器基础概念与用法.分享给大家供大家参考,具体如下: 装饰器基础 前面快速介绍了装饰器的语法,在这里,我们将深入装饰器内部工作机制,更详细更系统地介绍装饰器的内容,并学习自 ...

  5. python里的class定义类为什么括号有object

    很多同学有疑问,为什么python里的class定义类括号有object 当我在python编辑器里输入object后,然后按住ctrl键+鼠标左键 即可查看object里的方法 class obje ...

  6. 关于python创建类的深入理解

    背景 我们知道在python中一切皆为对象的概念,那我们们来看一段程序 class Foo(object):def __init__(self, name):self.name = namef = F ...

  7. Python的零基础超详细讲解(第十三天)-Python的类与对象

    基础篇往期文章如下: Python的零基础超详细讲解(第一天)-Python简介以及下载 Python的零基础超详细讲解(第二天)-Python的基础语法1 Python的零基础超详细讲解(第三天)- ...

  8. 如何创建你的第一个Python元类?

    Python元类设置类的行为和规则.元类有助于修改类的实例,并且相当复杂,是Python编程的高级功能之一.通过本文,将深入讨论Python元类,其属性,如何以及何时在Python中使用元类.本文介绍 ...

  9. python基础类型,Python基础-类

    Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...

最新文章

  1. 【转】python类中super()和__init__()的区别
  2. 信息学奥赛一本通 ybt 1933:【05NOIP普及组】循环 | 洛谷 P1050 [NOIP2005 普及组] 循环
  3. Python学习笔记之几点代码格式要求
  4. 云计算(1)---基础知识
  5. 自学 HTML 和 CSS,有哪些好的教材和网站教程推荐?
  6. linux 单用户模式 挂载u盘_Linux服务器如何识别移动硬盘?
  7. Git——三大分区【工作区 / 暂存区 / 版本区】
  8. 力扣-830 较大分组的位置
  9. 低通滤波-matlab低通滤波程序
  10. 2018年TI杯大学生电子设计竞赛
  11. 使用Intel NCS算力棒 安装部署记录 VirtualBox With Ubuntu16.04 Source Aliyun
  12. Unity Timeline自定义轨道
  13. 腾讯坐标系转化成百度坐标系
  14. 实战HTML:部分美团首页静态界面
  15. mysql32位的能装在64位的电脑上吗,32位处理器能装64位系统吗
  16. 分子动力学软件-VMD(win版)
  17. 学生学籍系统 按班级查找按学号查找
  18. 机器学习数据挖掘笔记_18(PGM练习二:贝叶斯网络在遗传图谱在的应用)
  19. Unity入门——角色属性设置
  20. 各种相似度计算的python实现

热门文章

  1. php form validator 下单,PHP Form表单验证:PHP form validator使_php
  2. homebrew长时间停在Updating Homebrew 这个步骤
  3. linux可以不用grub吗,既然不用Win了,那么GrubDOS也不用了。linux grub求指导
  4. python 3d大数据可视化_Python大数据可视化编程实践-绘制图表
  5. SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理
  6. Transactional cannot be resolved to a type
  7. C# 实例练习——字符串处理(第三天)
  8. android studio -genymotion神奇错误
  9. windows phone (12) 小试自定义样式
  10. 【dubbo】http.conn.HttpHostConnectException.host: 'org.apache.http.HttpHost' could not be instantiated