/1 前言/
魔法方法是python 里面非常重要的一个分支,平时我们写代码或多或少都会接触到他们,而且他们所产生的作用也是非常巨大的,不得不说,尤其是大型企业开发讲究工整性的时候,用好魔法方法就等于掌握了Python的命脉这样说也丝毫不夸大其词。之所以叫魔法方法自然是因为他们足够强大这一点毋庸置疑。
下面我们就来看看基本的魔法方法,给大家和魔法方法一个零距离接触的机会,也就是给小编一个机会,因为你们的支持才是小编的不竭动力,哈哈哈哈。
/2 基本魔法方法/
如下表所示。
看了这么多,大家可能会暂时觉得有点懵,怎么这么多,这些都要记住吗,天哪??心中是否有种顿时无数只cao ni ma 飘过的感觉,噗嗤!!!
有这种感觉很正常,不过小编来跟大家说,这些不需要全部记住,就像Python 中的模块和其中的方法,你也不需要全部都记住,为什么呢?
因为你要想全部记住,没有谁能有这个脑子,人家电脑硬盘还有空间限制了,更何况人脑了,当然,不排除那些逆天的存在哈,你们随意,小编只给大佬鼓鼓掌~
下面,小编就挑其中几个跟大家说说,都是经常用到的,比较具有代表性,你懂得。
/3 常用魔法方法/
/4 案例例举/
1、构造初始化清除魔法方法
运行结果如下图:
可以看出 , init 并不是第一个被调用的方法,第一个被调用的是 new,这个 方法才真正地创建了实例,当这个对象的生命周期结束的时候, del 会被调用。
其实这些创建实例和销毁实例的过程编译器早帮我们做好了,不需要我们再去多此一举。
可以看出new这个魔法方法运行了之后了,init就没他什么事了,可怜的init,但是为什么我们在实际过程中使用最多的却是init呢?
我们都知道编程语言发展至今都比较智能了,像Java,Python等这些面向对象的语言,都能实现自动创建实例的功能。
今天我们说的Python就是其中之一了。所以创建实例功能显得不是那么重要了,于是乎new出现的几率也就小了,那么init是做什么的呢?
它其实就是初始化方法的构造器,大家都知道,一个类写出来是必须要初始化的,不然无法运行,所以可见其重要性。
2、那么我们只需这样就可以了,如图:
这样就正确显示出我们想要的结果了。
3、属性访问魔法方法。此类魔法方法可以定义私有属性然后使用公有的getter和setter,实现了一系列的封装。
运行后的效果如图:
4、自定义序列魔法方法也称容器类魔法方法。此类魔法方法可以让你的类表现的像内建序列类型一样,比如:字典,元祖,列表,字符串等。
运行后的结果,如图:
可以看到他的确实现了如同列表般的部分功能,这就是他的厉害之处。而且可以自定义更多的实用功能,轻松实现功能从而减少不必要的冗余代码。
5、上下文管理器的魔法方法。
1)用魔法方法enter和exit进行重写,可实现上下文管理器。
2)利用上下文管理器模块重写with open 方法。
6、最后一个最常用的就是 repr 和str了,如图:
/5 小结/
1、本文主要介绍了Python中的魔法方法。魔法方法是python 里面非常重要的一个分支,平时我们写代码或多或少都会接触到他们,而且他们所产生的作用也是非常巨大的。
2、想要了解更多Python网络爬虫知识,可以私信小编“资料”免费获取更多爬虫内容
------------------- End -------------------