__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的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- flutter回调函数,flutter resume
- 新固定硬盘怎么使用,硬盘支架怎么固定
- html5游戏火焰燃烧,火焰燃烧视频免费下载
- C语言求平方和函数版 c语言平方和函数怎么写
- pg数据库和mysql速度,pg数据库和mysql语法
- 公司如何做好产品推广管理,如何做产品的推广?推广企业产品
- 地牢闯关单机游戏,地牢闯关类游戏
- c语言表示根号的函数吗 c语言中表示根号
- 台电ssd固态硬盘怎么样,台电固态盘质量咋样