今天在学习为深度学习数据预处理的时候用了一下“__getitem__"方法,发现还挺好用,下面详细解释一下。

__getitem__(self,key):

把类中的属性定义为序列,可以使用__getitem__()函数输出序列属性中的某个元素,这个方法返回与指定键想关联的值。对序列来说,键应该是0~n-1的整数,其中n为序列的长度。对映射来说,键可以是任何类型。

如果在类中定义了__getitem__()方法,那么它的实例对象(假设为P)就可以以P[key]形式取值,当实例对象做P[key]运算时,就会调用类中的__getitem__()方法。当对类的属性进行下标的操作时,首先会被__getitem__() 拦截,从而执行在__getitem__()方法中设定的操作,如赋值,修改内容,删除内容等。

class Taget:

def __init__(self,id):

self.id=id

def __getitem__(self, item):

print('这个方法被调用')

return self.id

a=Taget('This is id')

print(a.id)

print(a['python'])

>输出:

'这个方法被调用'

'This is id'

python getitem_python中__getitem__详解相关推荐

  1. python Numpy中array详解

    Numpy是Python的一个科学计算的库,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表示形式,不过numpy为我们提供了更多的函数. ...

  2. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

  3. python的继承用法_python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

  4. python中search用法_Python中的python re.search方法详解

    re.search扫描整个字符串并返回第一个成功的匹配,若string中包含pattern子串,则返回Match对象,否则返回None,注意,如果string中存在多个pattern子串,只返回第一个 ...

  5. 信息学奥赛 python 教程_Python在信息学竞赛中的运用及Python的基本用法(详解)

    前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在<算法竞赛入门经典-训练指南>中所说的一样,如果会用 ...

  6. Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)

    文章目录 一.lambda是什么? 1.lambda语法 2.语法详解 二.lambda的使用 1.定义 2.调用 3.替换 4.作返回值 三.lambda作参数 1.map函数 2.reduce函数 ...

  7. python中getattr详解

    python中getattr详解 目录 getattr详解 前言 一.消除if-else 二. 反射机制 三.getattr 详解 总结 getattr详解 前言 这两天在优化腾讯云迁移平台(Smar ...

  8. python中如何取余_基于python 取余问题(%)详解

    取余的公式: 余数=除数-被除数*商 python的的余数是按照整除(向下取整)得到的商来计算的. 取余问题主要分为 : 正数与正数,负数与负数,正数与负数 ,0 正数与正数 #大数/小数:因为得出的 ...

  9. python中rstrip 函数,Python rstrip()方法实例详解

    Python 字符串 描述 Python rstrip() 删除 string 字符串末尾的指定字符(默认为空格). 语法 rstrip()方法语法: str.rstrip([chars]) 参数 c ...

最新文章

  1. Angular7中引用外部JS文件
  2. 使用ReportStudio打开cube模型创建报表出现两个最细粒度名称
  3. 工业机器人九龙坡区职教中心_山西省襄汾县职教中心“智能工业机器人订单班”学生集体观看直播“2020一带一路暨金砖国家技能发展与技术创新大赛”...
  4. 一个函数里两个setjmp_C语言中setjmp.h的longjmp()函数
  5. 手把手入门神经网络系列-2篇-有图有码(转)
  6. 否在为一个新品牌或企业寻找设计独特标识的灵感?集设给你灵感
  7. CCF CSP201312-4有趣的数
  8. Eclipse中的,ER图生成工具:【ERMaster】
  9. 中国雅虎邮箱将寿终正寝 8月19日停止服务
  10. matlab中readwav的用法,使用matlab的wavread函数总提示出错,那位高手指点下啊
  11. ADF用户页面行为监控
  12. CSR8670项目实战:BlueHeart心率监测耳机
  13. 可口可乐和百事可乐查出杀虫剂成分!
  14. 传奇服务端服务端运行7个窗口的各窗口功能讲解
  15. 十八、报销单流程开发
  16. 微信公众号开发--获取用户信息中文乱码的解决方案
  17. 谷歌地图API 学习(一)
  18. 【Matlab风电功率预测】粒子群算法优化BP神经网络风电功率预测【含源码 347期】
  19. 原来比亚迪造车这么不赚钱,最大营收竟靠手机代工
  20. 南大自考流程详解-计算机应用/计算机科学与技术

热门文章

  1. 看别人关于设计模式的文章很深刻,不是很明白
  2. python将文本写入Excel并分行列
  3. 迅为4412开发板物联网项目实战手机远程控制(广域网)
  4. Redis实现分布式锁(SETNX)
  5. 散场电影,给一个陌生人看:伤感日志
  6. 有几款荣耀的手机支持鸿蒙,荣耀手机也将适配鸿蒙系统,首批支持6款机型,有你的手机吗?...
  7. 不多于 5 位的正整数逆序输出(python)
  8. Object类中的常用方法
  9. vr直播是什么意思?vr直播需要什么设备?
  10. 搞点Python骚操作,自动美化excel表格