首页 > 文章列表 > python魔法方法有哪几种?

python魔法方法有哪几种?

python魔法方法
102 2022-08-07

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__应该从不被使用,因为它在不稳定的情况下被调用。我们应该谨慎使用它。

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。