Python 的魔法方法及用途

时间:2022-07-28
本文章向大家介绍Python 的魔法方法及用途,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

在Python中,所有以 “_ _“ 双下划包起来的方法称为“魔法方法” 魔法方法Python解释器自动给出默认的,因此除非需要改变其内部功能,其它时刻刻使用默认魔法方法

最常用三个:"_init"、"_new"、"_del_"

_new是用来创建类并返回这个类的实例, _init将传入的参数来初始化该实例,以及初始化示例属性,与new共同构成了“构造函数” _del_将实例化后的对象销毁,即为析构函数

类调用:call

_call_允许一个类像函数一样被调用

属性访问:getattr、setattr、delattr

_getattr访问对象不存在的属性时,调用该方法,用于定义访问行为 _setattr设置对象属性时调用 _delattr_删除对象属性时调用

上下文管理器:_enter和_exit

这两个方法请看上面第3题。

迭代器方法:_iter_和__next__

_iter_:返回一个容器迭代器,很多情况下会返回迭代器,尤其是当内置的iter()方法被调用的时候,以及当使用for x in container:方式循环的时候。迭代器是它们本身的对象,它们必须定义返回self的iter方法。 _next_:返回迭代器的下一个元素