当前位置:鱼C工作室 >零基础入门学习Python > 查看文章

魔法方法:定制序列 – 零基础入门学习Python047

魔法方法:定制序列

 

让编程改变世界

Change the world by program


 

常言道,无规矩不成方圆,讲的是万事万物的发展都是要在一定的规则下进行,只有遵照一定的协议去做了,事情才能往正确的方向上发展。

 

今天我们要谈的是定制容器,要想成功地实现容器的定制,我们需要先谈一谈协议。协议是什么呢?协议(Protocols)与其他编程语言中的接口很相似,它规定你哪些方法必须要定义。然而,在 Python 中的协议就显得不那么正式。事实上,在 Python 中,协议更像是一种指南。

 

这有点像我们之前在课后作业中提到的“鸭子类型”,当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。Python就是这样,并不会严格地要求你一定要怎样去做,而是让你靠着自觉和经验把事情做好!

 

Python 中,像序列类型(如列表、元祖、字符串)或映射类型(如字典)都是属于容器类型。这节课我们来讲定制容器,那我们就必须要知道,定制容器有关的一些协议:Python魔法方法详解

 

1. 如果说你希望定制的容器是不可变的话,你只需要定义 __len__() 和 __getitem__() 方法。

2. 如果你希望定制的容器是可变的话,除了 __len__() 和 __getitem__() 方法,你还需要定义 __setitem__() 和 __delitem__() 两个方法。

 

好,验证大家学习能力的时候到了。现在动动手,编写一个不可改变的自定义列表,要求记录列表中每个元素被访问的次数。

…… 此处省略N多内容,具体请看视频讲解 ……


为您推荐

报歉!评论已关闭.