首页 > 其他分享 >__getitem__方法

__getitem__方法

时间:2023-06-03 22:13:08浏览次数:33  
标签:__ key 迭代 对象 self getitem 方法

当实例对象做p[key] 运算时,会调用类中的方法__getitem__

形式一:__getitem__(self, index)
形式二: __getitem__(self, key)
魔法方法__getitem__ 可以让对象实现迭代功能,这样就可以使用 for…in… 来迭代该对象了

在用 for…in… 迭代对象时,如果对象没有实现 __iter__、 __next__ 迭代器协议,Python的解释器就会去寻找__getitem__ 来迭代对象,如果连__getitem__ 都没有定义,这解释器就会报对象不是迭代器的错误

标签:__,key,迭代,对象,self,getitem,方法
From: https://www.cnblogs.com/sangern/p/17454738.html

相关文章

  • 2023年7大数字化转型趋势
    近日,全球排名第一的CRM厂商Salesforce旗下的全资子公司Mulesoft,发布了《2023年7大数字化转型趋势》报告。同时结合Gartner、德勤、麦肯锡、IDC等知名调查机构报告的精华内容,揭示了影响组织在实现数字化转型过程中的7大趋势。这7大趋势分别是,投资自动化(RPA、超级自动化),加速业务流......
  • IDC:《中国RPA+AI市场分析,2022》
    智通财经APP获悉,IDC在之前发布的市场份额报告基础上,于近日发布了《中国RPA+AI市场分析,2022》报告。报告对RPA+AI市场生态、主要厂商、行业用户需求、典型用户应用现状、市场发展趋势进行了详细分析。总体来看,中国RPA+AI市场还将保持稳定增长;从技术应用的角度而言,未来RPA+AI......
  • Linux进程间通信源码分析
    概览这篇文章从内核源码的角度整理一下Linux的进程间通信机制。众所周知,Linux操作系统的通信机制有以下几种:信号管道(分为匿名管道和有名管道)信号量共享内存消息队列Socket本文主要内容包括其中前五个。其中信号量、共享内存、消息队列在Linux中有两套API,实现方式大不......
  • [刷题笔记] ybt1255:迷宫问题
    题目传送门Solution数据范围很小,一共才\(5\times5\),所以乱搞做法很多比如我一开始就先bfs单纯跑最短路,然后dfs找路径但是忘回溯被嘲讽其实可以边bfs边记录路径,因为bfs是按层数搜的,所以第一次到达终点的路径一定是最优的。那么如何记录路径呢?我原来用pair,经教练指导发现可以......
  • 「学习笔记」概率与期望
    样本点与样本空间\(A=\left\{1,2,3\right\}\)\(1,2,3\)为样本点,\(A\)为样本空间。\[A=\left\lbrace1,2,3\right\rbrace\\B=\left\lbrace2,3,4\right\rbrace\\A\capB=\left\lbrace2,3\right\rbrace=A\cdotB\\A......
  • Flink实战(七) - Time & Windows编程
    掌握Flink中三种常用的Time处理方式,掌握Flink中滚动窗口以及滑动窗口的使用,了解Flink中的watermark。Flink在流处理工程中支持不同的时间概念。1处理时间(Processingtime)执行相应算子操作的机器的系统时间。当流程序在处理时间运行时,所有基于时间的算子操作(如时间窗口)将使用运行相......
  • C语言编程-位域
    C语言的位域(bit-field)是一种特殊的结构体成员,允许我们按位对成员进行定义,指定其占用的位数。如果程序的结构中包含多个开关的变量,即变量值为TRUE/FALSE,如下:struct{unsignedintwidthValidated;unsignedintheightValidated;}status;这种结构需要8字节的内存空间,但在......
  • #yyds干货盘点# LeetCode程序员面试金典:颠倒二进制位
    1.简述:颠倒给定的32位无符号整数的二进制位。提示:请注意,在某些语言(如Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在Java中,编译器使用二进制补码......
  • 广州商城小程序开发如何保障用户数据安全?
    随着移动互联网的快速发展,小程序应用也在日益流行,通过商城小程序进行购物的人越来越多。因此,关于广州商城小程序开发如何保障用户数据安全这个问题成为商城小程序开发过程中一个必须考虑的因素!在使用过程中,用户的个人信息和交易数据需要得到妥善的保护,以防止潜在的数据泄露和安全威......
  • 架构设计的外部适应性
    从架构设计的角度来说,我们要把大多数的尝试尽量封装到一个小的领域内。这个时候,多次的业务尝试不会随着时间而导致混乱,削减技术体系的外部适应性。做到这点,下面的这些架构原则非常重要。第一,单一职责,指的是要把每个业务尝试尽量封装到一个单一模块中。好处是一旦尝试失败,就可以迅速......