类
- 程序中数据的组织多种多样,如果我们简单用变量来记录,就会混乱、不统一,如下所示:
- 类比现实中的表格,我们可以用类来组织数据,如下:
- 类的定义和使用
- 类中的变量叫做成员变量,类中的函数叫做成员方法
- 写在类外的函数,我们称之为函数,写在类内的函数,我们称之为方法
- 成员方法和普通函数的定义区别:
- self关键字:
- 成员方法的形参列表必须包含self
- 在成员方法中,要想使用类的成员变量或类的其他成员方法,必须使用self.
- 在成员方法中,要想使用形参,不用写self.
- 虽然self写在形参列表里,但是我们在传入参数时,可以不用管它
对象
- 类相当于现实世界的物体的抽象,类相当于现实世界的某个具体物体
构造方法
- _ _ init _ _ (self):
- 构造方法跟_ _ main _ _一样,是双下划线
- 通过构造方法,可以向函数那样,通过传参的方式向对象的属性赋值
- 我们可以不在成员变量位置声明成员变量,转而直接在构造方法中,使用self.来声明成员变量,同时对它进行赋值
- 注意形参列表和实参列表一一对应
私有方法
- 私有方法和私有变量无法被类对象使用,但是可以被类内部的成员方法和成员变量使用
继承
- 继承不会将父类的私有成员继承过来
- 单继承
- 多继承
- 注意事项,如果多个父类中有同名成员,那么继承顺序中左边的被保留,右边的被左边覆盖
- 注意事项,如果多个父类中有同名成员,那么继承顺序中左边的被保留,右边的被左边覆盖
- pass关键字:
- 如果子类没有任何成员,可以用pass来保证类定义的完整性,表示无内容、空的意思
- pass是占位语句,也可以用在函数、方法中,同样保证完整性,且表示无内容、空的意思
- 如果不写pass,那就需要写点东西,不能空着,否则会报语法错误