python魔法函数大全 python魔术方法call( 六 )


__getitem__(self,key): 返回键对应的值 。
__setitem__(self,key,value): 设置给定键的值
__delitem__(self,key): 删除给定键对应的元素 。
__len__(): 返回元素的数量
【注释】只要实现了 __getitem__ 和__len__ 方法 , 就会被认为是序列 。
这些魔术方法的原理就是:当我们对类的属性item进行下标的操作时,首先会被 __getitem__()、__setitem__()、__delitem__() 拦截,从而执行我们在方法中设定的操作,如赋值,修改内容,删除内容等等 。
这个方法应该以与键相关联的方式存储值,以便之后能够使用 __setitem__ 来获取 。当然 , 这个对象可变时才需要实现这个方法 。
举个栗子:
定义一副扑克牌(不包括大小王),对牌进行洗牌 , 然后发牌 。
Output:
【注意】 :我们会发现output中,输出了: slice(1, 3, None) ,下面给出解释 。
语法:
参数说明:
slice() 函数实现切片对象,主要用在切片操作函数里的参数传递 。
举两个栗子来看看:
Output:
切片原理
output
(程序员必会的hhhhh.....)
看看slice在python3.7中是怎么描述的:
关于python魔法函数大全和python魔术方法call的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

推荐阅读