类和对象

1.类:具有相同的属性和方法的对象的集合。

2.类和对象的关系:

3.类包含的属性和方法:

4.语法:class 类名:

  属性(相对于类来说属于全局,每个方法都可以调用。)

  方法(get/set)

Set_name():

Get_name():

公有方法:

私有方法: def __test():只能在当前类中使用,以__开头。

5.__str__():输出地址类型等等。

6.自动销毁方法:__del__(): 当对象

7.getrefcount()输出引用个数。

8.继承:子类(可以有多个子类)继承父类,子类可以使用父类的属性和方法,简化代码。(面向对象的三大特征:封装、继承、多态)

9.当生成子类对象时,先初始化父类对象,所以如果父类有__init__方法,并且有属性时,要通过子类构造赋值。

10.在子类中,调用父类的属性时,在__init__()方法中使用父类.属性,或self.属性  调用父类方法时:super().父类方法()

、super(父类,self).__init__(参数)。

 

11.当子类继承父类时,子类的构造方法应该包含父类和子类的共同属性,在子类的初始化方法中,将父类的属性传递给父类,子类的属性赋值给子类。

12.方法重写:子类继承父类时,子类的方法签名和父类一样

13.三代继承:子类初始化方法需要祖父类、父类及自己的属性,可以调用父类的初始化方法传参,可以重写父类的方法。

14.多态:

类属性:属于类的成员,属于对象共有的

类方法:在方法上添加@classmethod

@classmethod

defcmethod(self):

可以通过类方法调用类属性,也可以通过对象调用类属性

静态方法:@staticmethod,静态方法没有参数,与类和对象都没关系。可以通过类和对象调用。

15.__new__(self)用来创建对象,而且必须又返回值。

16.类的专有方法:

__init__ : 构造函数,在生成对象时调用

__del__ : 析构函数,释放对象时使用

__repr__ : 打印,转换

__setitem__ : 按照索引赋值

__getitem__: 按照索引获取值

__len__: 获得长度

__cmp__: 比较运算

__call__: 函数调用

__add__: 加运算

__sub__: 减运算

__mul__: 乘运算

__div__: 除运算

__mod__: 求余运算

__pow__: 乘方