new方法
此方法调用发生在 “类实例化之前”,用于确定此次实例化的类。new方法可以调用其他类的构造方法;或者直接返回别的对象;作为本次实例化的实例。
new返回值为实例成功的对象。new() 方法始终都是类的静态方法,即使没有被加上静态方法装饰器。
init方法
此方法负责对象的初始化(构造方法)。此方法的返回值只能为None,推荐没有返回值;否则会报错。
在init()实例化类之前,由new()方法决定是否要使用init()方法构造。
del方法
析构函数,删除对象时执行的函数
属性操作
当对一些属性进行操作时,自动调用一些操作
__getattr__(self, item)
在访问对象的item属性的时候,如果对象并没有这个相应的属性,方法,那么将会调用这个方法来处理。
这里要注意的时,假如一个对象叫fjs, 他有一个属性:fjs.name = “fjs”,那么在访问fjs.name的时候因为当前对象有这个属性,那么将不会调用__getattr__()方法,而是直接返回了拥有的name属性了
__setattr__(self, item, value)
当试图对象的item特性赋值的时候将会被调用。使用中需要注意避免陷入死循环(_dict_)
__getattribute__(self, item)
这个只有在新式类中才有的,对于对象的所有特性的访问,都将会调用这个方法来处理。
这个方法的存在,可以方便处理一些不在预期的非法调用,尤其是涉及资金的。
__delattr(self,name)
当试图删除特性name时,会被自动调用