1、__new__(cls[,...])
__new__是对象实例化过程中第一个被调用的方法。它构造了对象实例,然后将其他参数传递过__init__。__new__用的相当少,但它还是有它的用处,尤其是当子类化一个不可变的类型如tuple和str。对于__new__不作过多细节探讨,相关细节可以查看Python文档。
2、__init__(self[,...])
类的初始化方法,无论使用什么主构造函数都会通过。
3、__del__(self)
如果说__new__和__init__构成了对象的构造器,那么__del__就是对象的析构器。它没有实现语句del x的行为(因此,不能转换成x.__del__())。相反,它定义了一个对象被垃圾回收时的行为。它对在对象被清理前需要其他额外的清理工作时十分有用,例如sockets对象或文件对象。但是请小心,因为不能保证对象仍然存在而解释器退出前__del__的执行,因此__del__不能替代良好的编码做法(例如在完成操作后始终关闭连接)。事实上,__del__应该从不被使用,因为它在不稳定的情况下被调用。我们应该谨慎使用它。
以上就是python中的3种魔法方法,希望能对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。