类和对象
类的构成
类(Class) 由3个部分构成
01). 类的名称:类名
02). 类的属性:一组数据
03). 类的方法:允许对进行操作的方法 (行为)
定义类
经典类
class Hero: # 经典类(旧式类)定义形式
def info(self):
print("英雄各有见,何必问出处。")
class Hero(object): # 新式类定义形式
def info(self):
print("英雄各有见,何必问出处。")
创建对象
python中,可以根据已经定义的类去创建出一个或多个对象。
创建对象的格式为:(实例化对象)
对象名1 = 类名()
对象名2 = 类名()
对象名3 = 类名()
添加和获取对象
在方法内通过self获取对象属性
魔法方法
__init __() : 实例属性的初始化和赋值
__str __() : 通常返回一个字符串,作为这个对象的描述信息
__doc __() : 查看类的文档说明,也就是类的注释
__del __() :
1). 当有变量保存了一个对象的引用时,此对象的引用计数就会加1;
2). 当使用del() 删除变量指向的对象时,则会减少对象的引用计数。如果对象的引用计数不为1,那么会让这个对象的引用计数减1,当对象的引用计数为0的时候,则对象才会被真正删除(内存被回收)。
继承
单继承
- 子类只继承一个父类
- 子类在继承的时候,在定义类时,小括号()中为父类的名字
- 父类的属性、方法,会被继承给子类
多继承
- 子类继承多个父类
- 如果多个父类中有同名的 属性和方法,则默认使用第一个父类的属性和方法(根据类的魔法属性mro的顺序来查找)
- 多个父类中,不重名的属性和方法,不会有任何影响。