1. 面向对象概述
1.1 OOP 思想
- 接触到任意一个任务,首先想到的是任务中的世界的构成(模型化)
1.2 几个名词
OO |
面向对象 |
OOA |
面向对象分析 |
OOD |
面向对象设计 |
OOI |
面向对象实现 |
OOP |
面向对象编程 |
1.3 类与对象
类 |
抽象名词,代表一个集合,共性的事物 |
对象 |
具象的事物,单个个体 |
类 |
抽象,代表一大类事物 |
对象 |
具象,代表某一类事物的某一个个体 |
属性(变量) |
表明事物的特征 |
成员方法(函数) |
表明事物功能或动作 |
2. 类的基本实现
2.1 类的命名
- 遵守变量命名的规范
- 大驼峰(形如 YorkFish)
- 尽量避开系统命名
2.2 如何声明一个类
- 必须用
class
关键字
- 类由“属性”和“方法”构成,不允许出现别的
- 定义成员属性可以直接使用变量赋值,如果没有值,允许使用
None
2.3 如何实例化一个类
变量 = 类名() # 实例化了一个对象
2.4 如何访问对象成员
2.5 如何检查类与对象的所有成员
- 检查类的所有成员
class_name.__dict__ # dict前后各有两个下划线
- 检查对象的所有成员
obj.__dict__ # dict前后各有两个下划线
3. anaconda 基本使用
conda list |
显示 anaconda 安装的包 |
conda env list |
显示 anaconda 的虚拟环境列表 |
conda create -n xxx python=3.7 |
创建 python 版本为 3.7 的虚拟环境,名称为 xxx |
source active xxx |
激活 xxx 虚拟环境 |
source deactive |
挂起 xxx 虚拟环境 |
4. 类和对象的成员分析
- “类”与“对象”都可以存储成员
- “类”存储成员时使用的是与“类”关联的一个“对象”
- “对象”访问一个成员时
- 如果“对象”中没有该成员,尝试访问“类”中的同名成员
- 如果“对象”中有此成员,一定使用“对象”中的成员
- 创建“对象”时
- “类”中的成员不会放入对象当中
- 而是得到一个空对象,没有成员
- 通过“对象”对“类”中成员重新赋值,或者通过“对象”添加成员时
5. 关于 self
- self 在对象的方法中表示当前对象本身
- 通过对象调用一个方法时,该对象会将“自己”自动传至当前方法的第一个参数中
- 即,哪个对象调用的方法,方法内的 self 就是指向哪个对象的引用
- self 并不是关键字
- 它只是一个用于接收对象的普通参数
- 理论上可以用任何一个普通变量名代替
- 方法中有 self 形参的方法称为非绑定类的方法,可以通过对象访问
- 方法中没有 self 的是绑定类的方法,只能通过类访问
- 使用类访问绑定类的方法时
- 如果类方法中需要访问当前类的成员,可以通过 "class.成员名" 来访问
此为听 北京图灵学院的 Python3 公开课 所记笔记
[Python3] 021 面向对象 第一弹
原文:https://www.cnblogs.com/yorkyu/p/10664177.html