一、面向对象简介
- 对象就是内存中专门存储数据的一块区域
- Python是一门面向对象的编程语言
- 所谓面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的
- 对象的结构:
- id (标识)
- type(类型)
- value(值)
- 面向过程
- 面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来完成程序
- 这种编写方式往往只适用于一个功能,如果要实现别的功能,往往复用性比较低
- 这种编程方式符号人类的思维,编写起来比较容易
- 例:孩子想吃瓜(需要妈妈去买)
- 1.妈妈穿衣服穿鞋出门
- 2.妈妈骑上电动车
- 3.妈妈到超市门口放好电动车
- 4.妈妈买西瓜
- 5.妈妈结账
- 6.妈妈骑电动车回家
- 7.到家孩子吃西瓜
- 面向对象的编程语言,关注的是对象,而不注重过程,对于面向对象一切皆对象
- 上面那个例子,可以简单归纳成一个事件对象: 孩子妈妈给孩子买瓜可吃(至于怎么去、怎么买等由对象孩子妈妈自己决定)
- 面向对象的编程思想,将所有功能统一保存到对应的对象中,要使用某个功能,直接找到对应的对象即可
- 这种编码方式比较容易阅读,并且易于维护,容易复用。但是编写的过程中不太符合常规的思维,编写相对麻烦
二、类(class)
- 我们以前学习的都是Python的内置对象,但是内置对象并不都能满足我们的需求,所以我们在开发中经常要用定义一些对象
- 类简单理解它就是相当于一个图纸,在程序汇总我们需要根据类来创建对
象。
- 类就是对象的图纸
- 我们也称对象是类的实例(instance)
- 如果多个对象是通过一个类创建的,我们称这些对象是一类对象
- int() str() float() bool() …
- a=10 等价于 a=int(10)
语法:
class 类名([父类]):
pass
- 类也是一个对象,类就是用来创建对象的对象
- 类是type类型的对象,定义类实际上就是定义了一个type类型的对象
isinstance() 用来检测一个对象是否是一个类的实例 返回值是布尔类型
class MyClass():
pass
print(MyClass)
mc = MyClass()
mc2 = MyClass()
mc3 = MyClass()
mc4 = MyClass()
print("mc:", mc, id(mc), type(mc))
print("mc2:", mc2, id(mc2), type(mc2))
prin