1. 面向对象:
1. 认识类和对象
- 类:类是具有相同功能和相同属性的对象的
集合
(一类事物的总称) —> 是一种抽象的概念 - 对象:对象就是类的
实例
(类的具体表现)
2. 定义类
定义类就是使用代码定义这个有哪些相同的功能(函数)和相同属性(变量)的对象的集合
语法结构:
class 类名:
类的说明文档
类的内容(方法和属性)
- 说明:
class
: 关键字,固定写法类名
: 自己命名,符合命名要求, 采用驼峰式命名,并且首字母大写:
: 固定写法类的说明文档
: 本质就是多行注释类的内容
: 有方法和属性组成,方法又分为(对象方法,类方法,静态方法);属性分为了(类属性,对象属性)- 方法就是定义在类中的函数,属性就是定义在类中变量
3. 创建对象
对象又叫实例
- 语法:
类名()
4. 方法
- 对象方法
- 定义方法:将函数直接定义在类中
- 调用方法:通过
对象.
的方式调用 - 特点:自带参数
self
通过对象调用对象方法的时候,参数self不需要传参,系统会自动将当前对象传给self(self谁调用就指向谁)
- 静态方法
- 定义方法:在定义函数前加装饰器:
@staticmethod
- 调用方法: 通过
类.
的方式调用 - 特点: 自带默认参数
cls
在调用的时候不用传参,系统会将当前类传给cls
- 定义方法:在定义函数前加装饰器:
- 类方法
- 定义方法: 在定义函数前加装饰器 :
@classmethod
- 调用方法: 通过
类.
的方式调用 - 特点: 没有特点
- 定义方法: 在定义函数前加装饰器 :
5. 常用的魔法方法
类中以
__
开头以__
结尾,并且会在特定情况下自动调用的方法
__init__()
在通过类创建对象的时候就会被自动调用,创建对象的时候需不需要参数,需要几个参数需要看__init__
方法,除了self
之外还有几个参数.__repr__()
打印类的对象的时候就会自动调用类中的__repr__
方法,并且获取这个方法的返回值为打印结果,返回值必须是字符串
编程思想
- 面向过程编程
- 遇到问题就会想到解决问题的方案和步骤
- 函数式编程
- 遇到问题马上想到是否有一个函数具备解决问题的能力,有的话,直接用,没有就造一个
- 面向对象编程
- 遇到问题就马上想到有没有一个对象具备这个功能,如果有直接套用,没有就创建这个对象(创建对象还要看有没有类,没有类还要创建类)