当前位置: 首页 > web >正文

如何给我们直接创建的类加上索引?和len方法?

我们知道numpy也是一个类,在原始python中,我们无法对一个类进行直接索引,那么numpy是怎么做到的呢?

import numpy as np
a=np.arange(1,10)
print(a[1])

这个可以直接运行

而这个会报错。

正确做法

在我们定义一个类的时候我们可以定义__getitem__方法,这个可以让我们直接使用索引方法,例如a[1]这样,定义__len__方法就是默认可以使用len()方法。

class fun():def __init__(self,a):self.str=a.split(',')def __getitem__(self, item):result=self.str[item]return resultdef __len__(self):return len(self.str)cl=fun('1,2,3,4,5,6')
print('索引:',cl[1])
print('长度',len(cl))

并且我们可以在__getitem__方法中操作,使返回的内容是我们设定好的内容。

http://www.xdnf.cn/news/19132.html

相关文章:

  • 数字化生产管理系统 (MES)
  • WINTRUST!_ExplodeMessage的作用是赋值psIndirectData
  • Docker 是什么?
  • python自动化测试工具selenium使用指南
  • 在 Ubuntu 24.04 上安装二进制文件(逐步指南)
  • 模型汇总-数学建模
  • claude code helper for vscode
  • 用户模式与内核模式:操作系统的“权限双轨制”
  • 【C++游记】物种多样——谓之多态
  • 软考-系统架构设计师 决策支持系统(DSS)详细讲解
  • 序列化,应用层自定义协议
  • C#和Lua相互访问
  • 数据结构:冒泡排序 (Bubble Sort)
  • 配送算法17 AFramework for Multi-stage Bonus Allocation in meal delivery Platform
  • 嵌入式研发工程师成长路线图,基础入门 → 中级提升 → 高级进阶 → 专家方向
  • 【笔记ing】大模型算法架构
  • Ollama 是否适合生产环境部署支持业务总结
  • [ICCV25]TRACE:用3D高斯直接学习物理参数,让AI“推演”未来场景
  • UML状态图中entry/do/exit动作的深入解析与C/C++实现
  • C++学习笔记之异常处理
  • 驱动开发系列67 - NVIDIA 开源GPU驱动open-gpu-kernel-modules分析-驱动初始化
  • Redis实战-点赞的解决方案
  • CodeSouler v2.4.0 版本更新
  • 20250828_学习JumpServer开源堡垒机使用:统一访问入口 + 安全管控 + 操作审计
  • 8.28日QT
  • Linux并发与竞争
  • 专项智能练习(图形图像基础)
  • 97、23种设计模式之桥接模式(6/23)
  • Flink Redis广播方案
  • LVDS系列26:Xilinx 7系 OSERDESE2原语(二)