4 类与对象
2018-06-18 02:23:51来源:未知 阅读 ()
面向对象学习目录
1 面向对象介绍
2 类、实例、属性、方法详解
3 面向过程与面向对象进一步比较
4 类与对象
5 属性查找与绑定方法
6 小结
7 继承与派生
8 组合
9 抽象类
10 多态
11 封装
12 绑定方法与非绑定方法
13 内置方法(上)
14 内置方法(中)之描述符
15 内置方法(下)
16 元类
类与对象的概念
- 在现实世界中:肯定是先有对象,再有类
- 在程序中:务必保证先定义类,后产生对象
定义类
- 在现实世界中,先有对象,再有类
- 在程序中,务必保证:先定义(类),后使用类(用来产生对象)
1 class OldboyStudent: 2 school='oldboy' 3 def learn(self): 4 print('is learning') 5 6 def eat(self): 7 print('is eating') 8 9 def sleep(self): 10 print('is sleeping')
- 类中可以有任意python代码,这些代码在类定义阶段便会执行,因而会产生新的名称空间,用来存放类的变量名与函数名,可以通过OldboyStudent.__dict__查看
- 类中定义的名字,都是类的属性,点是访问属性的语法。
- 对于经典类来说我们可以通过该字典操作类名称空间的名字,但新式类有限制(新式类与经典类的区别我们将在后续章节介绍)
类的使用
- 引用类的属性
1 OldboyStudent.school #查 2 OldboyStudent.school='Oldboy' #改 3 OldboyStudent.x=1 #增 4 del OldboyStudent.x #删
- 调用类,或称为实例化,得到程序中的对象
1 s1=OldboyStudent() 2 s2=OldboyStudent() 3 s3=OldboyStudent()
- __init__方法
1 class OldboyStudent: 2 ...... 3 def __init__(self,name,age,sex): 4 self.name=name 5 self.age=age 6 self.sex=sex 7 ...... 8 9 s1=OldboyStudent('李坦克','男',18) #先调用类产生空对象s1,然后调用OldboyStudent.__init__(s1,'李坦克','男',18) 10 s2=OldboyStudent('王大炮','女',38) 11 s3=OldboyStudent('牛榴弹','男',78)
对象的使用
1 #执行__init__,s1.name='牛榴弹',很明显也会产生对象的名称空间可以用s2.__dict__查看,查看结果为{'name': '王大炮', 'age': '女', 'sex': 38} 2 3 s2.name #查,等同于s2.__dict__['name'] 4 s2.name='王三炮' #改,等同于s2.__dict__['name']='王三炮' 5 s2.course='python' #增,等同于s2.__dict__['course']='python' 6 del s2.course #删,等同于s2.__dict__.pop('course')
补充说明
- 站的角度不同,定义出的类是截然不同的;
- 现实中的类并不完全等于程序中的类,比如现实中的公司类,在程序中有时需要拆分成部门类,业务类等;
- 有时为了编程需求,程序中也可能会定义现实中不存在的类,比如策略类,现实中并不存在,但是在程序中却是一个很常见的类。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:11 封装
- Python之对象持久化笔记 2019-08-13
- python之函数、面向对象 2019-08-13
- Python的面向对象2 2019-07-24
- Python之路【第九篇】:Python面向对象 2019-07-24
- python 之 并发编程(开启子进程的两种方式,进程对象的属性 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash