python:__getitem__方法详解
__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__方法详解相关推荐
- Python 字符串方法详解
Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. 在编程中,几 ...
- python json方法详解_详解python中的json的基本使用方法
在Python中使用json的时候,主要也就是使用json模块,json是以一种良好的格式来进行数据的交互,从而在很多时候,可以使用json数据格式作为程序之间的接口. #!/usr/bin/env ...
- Python 魔法方法详解
什么是Python魔法方法 魔法方法就如同它的名字一样神奇,总能在你需要的时候为你提供某种方法来让你的想法实现.魔法方法是指Python内部已经包含的,被双下划线所包围的方法,这些方法在进行特定的操作 ...
- Python String 方法详解
官网文档地址:https://docs.python.org/3/library/stdtypes.html#string-methods 官网 公号:软测小生ruancexiaosheng 文档里 ...
- python魔法方法详解
据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切. 他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个, ...
- python:__setitem__方法详解
__setitem__(self,key,value): 这个方法应该以与键相关联的方式(类似字典的方式)存储值,以便之后能够使用__setitem__来获取. 当然,这个对象可变时才需要实现这个方法 ...
- python stringstrip方法详解_Python 的技巧和方法你了解多少?
学了这些你的python代码将会改善,你的技巧将会提高. 进群:943752371可以获取各类Python学习资料+视频资料+各类安装教程 路径操作 比起os模块的path方法,python3标准库的 ...
- python json方法详解_python详解json模块
我们在做工作中经常会使用到json模块,今天就简单介绍下json模块 什么是json JSON ,全称为JavaScript Object Notation, 也就是JavaScript 对象标记,它 ...
- python stringstrip方法详解_Python 基础知识全篇-字符串(Strings)
字符串是字符的集合. 单引号和双引号 字符串可以包含在单引号或双引号中. my_string = "This is a double-quoted string." my_stri ...
最新文章
- 一款开源免注册的加密工具,防火防盗防泄密~
- 蓝桥杯:算法训练之最大最小公倍数
- PHP中普通方法如何调用静态属性,php中的静态属性和静态方法如何调用
- java中的lastIndexOf( )函数是什么意思
- python创建sqlite3数据库_树莓派使用 Python + SQLite 建立温度数据库
- 一年级前一学期计算机应用题,一年级计算机应用基础(二)
- Linux防止暴力破解密码脚本
- Python2 圆满落幕,Python 继续辉煌! | 原力计划
- winform 往第三方传值 put
- IOS Xcode 开发适配最低IOS版本 适配POD库
- 饥荒独立服务器在线模式收不到,Windows 服务器搭建Don’t Starve Together饥荒独立服务器教程...
- php 文本域,关于使用文本域(TextArea)的一个问题
- Unity UGUI 边缘泛光 描边 的简单实现
- 程序员工作久了,都不会好好说人话了...互联网人的....黑话
- Tcl脚本语言基础(2)
- 物联网RFID体系架构
- mcem r语言代码_R语言关于if语句missing value where TRUEFALSE needed的错误
- 手持4个大厂offer的我,全网独家首发!
- 生活英语—国外情侣之间最流行的英文昵称
- Django中 JWT -- obtain_jwt_token的原理
热门文章
- android厨房的使用方法,【图片】【教程】用安卓厨房制作自己的Rom【颓废rom吧】_百度贴吧...
- 服务器怎么修改密码_集团企业邮箱申请后,企业邮箱账号密码怎么修改?
- 计算机图像进行滤波的函数,数字图像处理图像滤波.ppt
- 数据宝董事长汤寒林分享保险行业数据产品场景案例
- 字符串反转(C语言)
- docker 学习(1)
- ajax生命周期是什么,关于Ajax访问页面的生命周期问题
- 凯撒加密方法介绍及实例说明
- 如何使用密码管理器-Enpass管理个人密码(macos、win10、Android亲测)
- 刚刚,腾讯、网易官宣100W个微信红包封面,速度撸!!