__getitem__
背景
最近在看代码时,发现python中的类可以像dict一样直接取元素,这是我之前没有碰到过的。便上午查阅资料,发现原来是python类中的__getitem__
方法在作怪,寻找解决方案,并记录一下。
理解 getitem 方法
原理
通过key或index获取item的语法[]
只是语法小技巧。当你执行 a[i]
时Python调用的方法其实是a.__getitem__(i)
。
一个小举例
把类(Class)想象成是一个建筑模型。在建筑的数据中包含许多属性,包括对占据每层楼公司的描述:
class Building(object):
def __init__(self, floors):
self._floors = [None]*floors
def occupy(self, floor_number