魔术方法就算定义在类里面的一些特殊的方法
特点:这些func的名字前面都有两个下划线
__new__方法
相当于一个类的创建一个对象的过程
__init__方法
相当于为这个类创建好的对象分配地址初始化的过程
__del__方法
一个类声明这个方法后,创建的对象如果被多次引用,只有当引用为0的时候
才会执行__del__方法
_eq_
两个变量通过 == 比较的时候触发的方法
_ne_
两个变量通过 != 比较的时候触发的方法
__getattr__方法
一个类的对象点一个属性,这个属性不存在的时候执行的func

__getattribute__方法
注意和__getattr__方法的区分,getattr是当那个属性不存在的时候回去调用,而getattribute是只要尝试去读取属性都会调用

__setattr__方法
为对象设置属性值时会触发的func,以下这个代码可以实现两个不同的对象共享属性

__delattr__方法
当尝试删除一个对象的属性的时候,会触发此方法















![[论文阅读笔记19]SiamMOT: Siamese Multi-Object Tracking](https://img-blog.csdnimg.cn/58e4f8b9aae048a78dfc74a80500a785.png)



