python学习笔记分享(二十一)魔法方法(一)构造和析构

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__()方法是当垃圾回收机制回收这个对象的时候调用的。

猜你喜欢

转载自blog.csdn.net/ITxiaoangzai/article/details/81514585
今日推荐