魔术⽅法
init :创建对象时为对象初始化成员变量
str :使⽤print函数打印输出对象到屏幕时被调⽤的⽅法,⽤于返回对象的规范化字符串表
现形式
类名.mro :查看继承关系
new :⽤于定义创建对象时执⾏的操作,在创建对象时⾃动运⾏,类的静态⽅法
del :删除对象,在对象断开与最后⼀个变量之间的引⽤关系时⾃动执⾏
对象判等
当两个对象对应的引⽤地址相同时,称这两个对象是同⼀个对象
is:判等操作的结果是True或False
==与is区别:
"==":对内容、数值进⾏判定
"is":只针对地址进⾏判定,地址相同即返回True,否则返回False
单例模式
控制⼀个类只能创建出单个实例对象
定义的类变量要进⾏私有化,否则可以通过类名在类的外部访问到
对象的判空操作使⽤is进⾏判定
相关概念
类:⼀系列事物的统称,同类事物必定具有相同的特征,⽇常事物的特征根据特性分为状态和⾏
为,对应到类中是变量和⽅法。
类成员:成员变量、成员⽅法的统称
成员变量:⽤于描述对象的固有状态或属性,也叫公有变量
成员⽅法:⽤于描述对象的固有⾏为,也叫实例⽅法
对象:类的具体表现形式,是实际存在的个体,也叫实例(instance)
类和对象的关系:⼀个类可以创建任意个数的对象
封装:对受访问保护的成员进⾏功能开放的控制,达到保护数据不被⾮法访问的⽬的
类变量:定义在类中,不属于某个具体对象的特征,被所有对象共同使⽤的特征
类⽅法:定义在类中,不属于某个具体对象的⾏为,被所有对象共同使⽤的⾏为
类⽅法中不允许使⽤实例变量和实例⽅法
类⽅法中允许使⽤类变量和类⽅法,通过第⼀个参数cls进⾏
实例⽅法中允许使⽤类变量和类⽅法
静态⽅法:既不访问成员变量,也不访问类变量,定义成静态⽅法
继承:⼀种类间关系,⼀个类A从另⼀个类B获取成员信息,称类A继承⾃类B。 提供成员信息的
类称⽗类(基类),获取成员信息的类称⼦类(派⽣类)。
⼦类可以添加⽗类没有的成员
⽗类私有成员不可被继承
多继承:⼀个类同时继承多个类,称为多继承。 class 类名(⽗类名1,⽗类名2…)
多继承关系中,当多个⽗类具有同名的成员,⼦类调时该成员时先调⽤继承关系中的第⼀个
声明的类的成员。
重写:在⼦类中定义与⽗类相同名称的成员⽅法。 super().⽅法名()
多态:⼀个对象具有多种形态,在不同的使⽤环境中以不同的形态展示其功能,称该对象具有多态特征。多态通常发⽣在继承关系的基础之上。
注意:
- 只访问成员变量的⽅法,定义成实例⽅法
- 只访问类变量的⽅法,定义类⽅法
- 既访问成员变量,也访问类变量的⽅法,定义成实例⽅法
- 既不访问成员变量,也不访问类变量,定义成静态⽅法