python魔法方法有哪几种?

python魔法方法有哪几种?
python魔法方法有哪几种?

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基础教程

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注