Python全套课程笔记-chap5-面向对象
### Python全套课程笔记-chap5-面向对象 #### 1. 定义类与对象 在面向对象编程中,**类**(Class)是对象(Object)的模板或蓝图,它定义了一组相同类型的对象所具有的数据结构(属性)和行为(方法)。**对象**则是根据类创建的具体实体。 ##### 1.1 类与对象的基本概念 - **类(Class)**: 描述一批对象共有的属性和行为。 - **定义格式**: ```python class 类名: # 执行语句 # 类变量 # 方法 ``` - **类体**: - **执行语句**:定义类时自动生成的语句,在定义类时会执行。 - **类变量**:所有对象共享的变量。 - **方法**:类中定义的函数,用于描述对象的行为。方法的第一个参数通常为`self`,用于指向调用该方法的对象实例。 - **对象(Object/Instance)**: 具体存在的实体,由类实例化而来。 - **定义格式**: ```python obj = 类名() ``` ##### 1.2 Python 的动态特性 - **动态增加或删除类变量**: - 可以在类体中为新变量赋值以增加类变量。 - 可以在程序的任何地方为已有的类增加变量。 - 可以通过`del`语句删除类变量。 - **动态增加或删除实例变量**: - 可以在程序的任意位置为已有对象增加实例变量。 - 可以通过`del`语句删除实例变量。 #### 2. 创建与使用对象 ##### 2.1 构造方法 构造方法是一种特殊的方法,名称为`__init__`,当创建一个对象时,系统会自动调用此方法。如果没有显式定义构造方法,Python会自动提供一个仅包含`self`参数的默认构造方法。 - **定义格式**: ```python def __init__(self, 参数1, 参数2, ...): # 初始化操作 ``` - **示例**: ```python class Person: def __init__(self, name='julie', age=18): self.name = name self.age = age ``` ##### 2.2 创建对象 - **创建格式**: ```python obj = 类名(参数1, 参数2, ...) ``` - **示例**: ```python p = Person('keating', 23) print(p.name, p.age) ``` ##### 2.3 操作对象 - **操作实例变量**: - 访问:`obj.实例变量` - 修改:`obj.实例变量 = 新值` - 删除:`del obj.实例变量` - **操作方法**: - 调用:`obj.方法()` - 添加:使用`types.MethodType`将函数转化为方法,并绑定到对象上。 - 删除:`del obj.方法` #### 3. 实例方法与自动绑定 `self` ##### 3.1 实例方法与自动绑定 - **实例方法的第一个参数`self`**: - 当使用对象调用实例方法时,Python会自动绑定方法的第一个参数(通常建议命名为`self`)。 - 在构造方法中,`self`引用正在初始化的对象。 - 在普通实例方法中,`self`引用调用该方法的对象。 ### 总结 本章节主要介绍了Python中面向对象的基础概念,包括类与对象的概念、Python的动态特性、构造方法的作用、如何创建和操作对象以及实例方法与`self`的自动绑定机制。通过理解和掌握这些基础概念,可以帮助初学者更好地理解和使用Python的面向对象编程功能。
- 粉丝: 721
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助