简介
魔术方法(magic method)是特殊方法的昵称,在Python中的特殊方法,一般都是使用诸如__xxx__(前后两个下划线,中间是方法名)的命名方式,在书里有个名词也可以形容它,比如__getitem__,叫做“双下—getitem” (dunnder-getitem)
万事开头难
难以用概念去概括Python特殊方法的作用,最简单的方法就是用例子说明。
很多人都会选择使用Python作为快速开发工具,而特殊方法是属于“快速”这个性质。
在Python中,要拿到一个集合的某个元素,可以使用对应的引索进行取值,比如list[key],这背后利用的是__getitem__方法,为了拿到my_list[key]的值,解释器实际上会调用my_list.getitem(key)。
Python也是面向对象编程语言,对于求一个集合的长度使用len(list)而不是list.len()会感觉有点奇怪,背后就是特殊方法的作用,调用了list.len()方法,和面向对象完全符合,而且还起到简化的作用,变得更加通俗易懂