IT Xiao Ang Zai 8月8号
现在,让我们进行继续今天的python学习:
版本:python3.64
编程软件:pycharm
现在简介一下魔法方法:
1.魔法方法总是被双下划线包围,例如__init__()。
2.魔法方法是面向对象的python的一切。
3.魔法方法的"魔力"体现在它们总能够在适当的时候被调用。
下面进行一些讲解:
1.__init__(self[,...])
它相当于其他面向对象编程语言的构造方法,也就是类在实例化对象的时候首先调用的一个方法,但并不是实例化对象时第一个被调用的魔法方法。
该方法的返回返回值一定是None。
2.__new__(cls[,...])
该方法才是在一个对象实例化的时候所调用的第一个方法。它的第一个参数不是self而是这个类(cls),而其他的参数会直接传递给__init__()方法。
该方法需要返回一个实例对象,通常是cls这个类实例化的对象,当然可以返回其他对象。
该方法很少会去重写它,一般用默认的方案执行就可以了。但是有一种情况需要重写这个魔法方法,就是当继承一个不可变的类型的时候。
3.__del__(self)
这个是python的析构器。当对象将要被销毁的时候,这个方法就会被调用。但要注意,并非del x就相当于自动调用x.__del__(),__del__()方法是当垃圾回收机制回收这个对象的时候调用的。