1.基本介绍
在Python中,__getitem__
是一个特殊方法(也常被称为“魔术方法”,即双下划线方法),它使一个类的实例对象能够支持通过键来获取其内部数据,类似于操作列表、元组或字典的方式。当你尝试使用方括号[]
访问一个对象的成员时,Python会自动调用这个对象的__getitem__
方法。
2.基本用法
__getitem__
方法至少需要一个参数self
,代表类实例本身,以及一个key
参数,这个key
可以是任何类型的值,具体取决于实现逻辑。这个方法应当返回与提供的key对应
的值。定义格式如下:
python">def __getitem__(self, key):# 实现逻辑,根据key返回相应的值pass
3.举个例子
python">class StudentScores:def __init__(self):self.scores = [85, 90, 78, 92]def __getitem__(self, index):if 0 <= index < len(self.scores):return self.scores[index]else:raise IndexError("Score index out of range")# 使用示例
student = StudentScores()
print(student[0]) # 输出: 85
print(student[1:3]) # 输出: [90, 78]
可以看到,通过student对象直接访问key为0的值,在类中定义的返回应为85。