__getitem__(self,key):

这个方法返回与指定键相关联的值。

对序列来说(通常是列表),键应该是0~n-1的整数,其中n为序列的长度。

对映射来说(通常是字典),键可以是任何类型。

class Tag:def __init__(self,id):self.id=iddef __getitem__(self, item):print('这个方法被调用')return self.ida=Tag('This is id')
print(a.id)
print(a['python'])

输出:

This is id
这个方法被调用
This is id

第一次输出是因为print打印了a.id,第二次输出是a['python]这一句调用了__getitem__,第三次输出是因为print打印了return的self.id。

由此可见,__getitem__可以通过类似字典的映射获取来触发,也就是xx['']这种形式。

所以实现了__getitem__这个方法后,我们可以把类当做字典,那么干脆在类中的__init__初始化中建立一个字典对象好了(当然也可以是变量,通过if判断后再return返回)。

class Tag:def __init__(self):self.change={'python':'This is python'}def __getitem__(self, item):print('这个方法被调用')return self.change[item]a=Tag()
print(a['python'])

python:__getitem__方法详解相关推荐

  1. Python 字符串方法详解

    Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几 ...

  2. python json方法详解_详解python中的json的基本使用方法

    在Python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json数据格式作为程序之间的接口. #!/usr/bin/env ...

  3. Python 魔法方法详解

    什么是Python魔法方法 魔法方法就如同它的名字一样神奇,总能在你需要的时候为你提供某种方法来让你的想法实现.魔法方法是指Python内部已经包含的,被双下划线所包围的方法,这些方法在进行特定的操作 ...

  4. Python String 方法详解

    官网文档地址:https://docs.python.org/3/library/stdtypes.html#string-methods  官网 公号:软测小生ruancexiaosheng 文档里 ...

  5. python魔法方法详解

    据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切. 他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个, ...

  6. python:__setitem__方法详解

    __setitem__(self,key,value): 这个方法应该以与键相关联的方式(类似字典的方式)存储值,以便之后能够使用__setitem__来获取. 当然,这个对象可变时才需要实现这个方法 ...

  7. python stringstrip方法详解_Python 的技巧和方法你了解多少?

    学了这些你的python代码将会改善,你的技巧将会提高. 进群:943752371可以获取各类Python学习资料+视频资料+各类安装教程 路径操作 比起os模块的path方法,python3标准库的 ...

  8. python json方法详解_python详解json模块

    我们在做工作中经常会使用到json模块,今天就简单介绍下json模块 什么是json JSON ,全称为JavaScript Object Notation, 也就是JavaScript 对象标记,它 ...

  9. python stringstrip方法详解_Python 基础知识全篇-字符串(Strings)

    字符串是字符的集合. 单引号和双引号 字符串可以包含在单引号或双引号中. my_string = "This is a double-quoted string." my_stri ...

最新文章

  1. 一款开源免注册的加密工具,防火防盗防泄密~
  2. 蓝桥杯:算法训练之最大最小公倍数
  3. PHP中普通方法如何调用静态属性,php中的静态属性和静态方法如何调用
  4. java中的lastIndexOf( )函数是什么意思
  5. python创建sqlite3数据库_树莓派使用 Python + SQLite 建立温度数据库
  6. 一年级前一学期计算机应用题,一年级计算机应用基础(二)
  7. Linux防止暴力破解密码脚本
  8. Python2 圆满落幕,Python 继续辉煌! | 原力计划
  9. winform 往第三方传值 put
  10. IOS Xcode 开发适配最低IOS版本 适配POD库
  11. 饥荒独立服务器在线模式收不到,Windows 服务器搭建Don’t Starve Together饥荒独立服务器教程...
  12. php 文本域,关于使用文本域(TextArea)的一个问题
  13. Unity UGUI 边缘泛光 描边 的简单实现
  14. 程序员工作久了,都不会好好说人话了...互联网人的....黑话
  15. Tcl脚本语言基础(2)
  16. 物联网RFID体系架构
  17. mcem r语言代码_R语言关于if语句missing value where TRUEFALSE needed的错误
  18. 手持4个大厂offer的我,全网独家首发!
  19. 生活英语—国外情侣之间最流行的英文昵称
  20. Django中 JWT -- obtain_jwt_token的原理

热门文章

  1. android厨房的使用方法,【图片】【教程】用安卓厨房制作自己的Rom【颓废rom吧】_百度贴吧...
  2. 服务器怎么修改密码_集团企业邮箱申请后,企业邮箱账号密码怎么修改?
  3. 计算机图像进行滤波的函数,数字图像处理图像滤波.ppt
  4. 数据宝董事长汤寒林分享保险行业数据产品场景案例
  5. 字符串反转(C语言)
  6. docker 学习(1)
  7. ajax生命周期是什么,关于Ajax访问页面的生命周期问题
  8. 凯撒加密方法介绍及实例说明
  9. 如何使用密码管理器-Enpass管理个人密码(macos、win10、Android亲测)
  10. 刚刚,腾讯、网易官宣100W个微信红包封面,速度撸!!