1.基本介绍

在Python中__getitem__是一个特殊方法(也常被称为“魔术方法”,即双下划线方法),它使一个类的实例对象能够支持通过键来获取其内部数据,类似于操作列表、元组或字典的方式。当你尝试使用方括号[]访问一个对象的成员时,Python会自动调用这个对象的__getitem__方法。

2.基本用法

__getitem__方法至少需要一个参数self,代表类实例本身,以及一个key参数,这个key可以是任何类型的值,具体取决于实现逻辑。这个方法应当返回与提供的key对应的值。定义格式如下:

def __getitem__(self, key):
    # 实现逻辑,根据key返回相应的值
    pass

3.举个例子

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。 

 

 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐