4.17Day22面向对象、名称空间

```python

```
面向过程:
重过程:解决问题,考虑的是解决问题的流程
解决问题的思路清晰,但拓展性不强

面向对象:
重对象:解决问题,找到解决问题的对象
解决问题的思路可能不止一条(理解解决对象的难度增加),但拓展性强

重点:面向对象的核心体现是将数据和处理数据的程序封装到对象中

python语言:面向对象的语言
python用面向过程与面向对象两种方式解决问题

函数与方法:都是解决问题的功能
函数:通过函数名直接调用 函数名(参数)
方法:通过附属者 .语法 来调用 附属者.语法()


名称空间:
内置 | 全局 | 局部
能产生名称空间的有: 文件 | 函数 | 类
能产生名称空间的对象会有__dict__这个值,通过这个值访问到名字与地址的对应关系

类与对象:
寻求一个类似函数与文件对象,可额外添加功能与属性的对象

类:具有相同特征与行为个体几个抽象
对象:有特征。行为的具体个体,就是类的具体体现

区别:两个人同时思考一个名字,想到的一定是同一个物体,就一定是对象,反之一定是类

语法:
类的声明:
class 类名: # class定义 类 语法的关键字

对象的产生:对象的实例化
对象1 = 类名()
对象2 = 类名()
对象3 = 类名()

类 与 对象都有自己独立的名称空间,每一个被实例化出来的对象,名称空间也是各自独立

所以 类 与 对象 都能额外添加 属性(变量) 和 方法(函数)

重点:类一旦被加载(随着所属文件的加载就加载),就会进入类的内部执行类中所有代码

对象查找属性的顺序:
先加载自身名称空间中的名字,如果没有再考虑类名称空间中的
posted @ 2019-04-17 22:29  输诚  阅读(71)  评论(0编辑  收藏  举报