> 文章列表 > python -- 魔术方法

python -- 魔术方法

python -- 魔术方法

魔术方法就算定义在类里面的一些特殊的方法
特点:这些func的名字前面都有两个下划线

__new__方法
相当于一个类的创建一个对象的过程

__init__方法
相当于为这个类创建好的对象分配地址初始化的过程

__del__方法
一个类声明这个方法后,创建的对象如果被多次引用,只有当引用为0的时候
才会执行__del__方法

_eq_
两个变量通过 == 比较的时候触发的方法

_ne_
两个变量通过 != 比较的时候触发的方法

__getattr__方法
一个类的对象点一个属性,这个属性不存在的时候执行的func
python -- 魔术方法
__getattribute__方法
注意和__getattr__方法的区分,getattr是当那个属性不存在的时候回去调用,而getattribute是只要尝试去读取属性都会调用
python -- 魔术方法
__setattr__方法
为对象设置属性值时会触发的func,以下这个代码可以实现两个不同的对象共享属性
python -- 魔术方法
__delattr__方法
当尝试删除一个对象的属性的时候,会触发此方法