魔术方法__getitem__
阅读原文时间:2023年08月28日阅读:3

Python中的魔术方法__getitem__

python中有许多的魔术方法,下文主要对__getitem__()进行介绍。__

在python中__getitem__(self, key):方法被称为魔法方法,这个方法返回所给键对应的值。

  1. 当对象是序列时,键是整数。当对象是映射时(字典),键是任意值

  2. 在定义类时,如果希望能按照键取类的值,则需要定义__getitem__方法

  3. 如果给类定义了__getitem__方法,则当按照键取值时,可以直接返回_

    __getitem__方法执行的结果

    class test_getitem():
    def init(self):
    self.num1 = 50

    # 定义__getitem__(),key为test_getitem的键
    def __getitem__(self, key):
        num2 = self.num1 + key
        return num2

    test = test_getitem()
    print(test[100]) # 150

对比

class test_getitem():
    def __init__(self):
        self.num1 = 50

    # 定义__getitem__(),key为test_getitem的键
    # def __getitem__(self, key):
    #     num2 = self.num1 + key
    #     return num2

test = test_getitem()
print(test[100])    # TypeError: 'test_getitem' object does not support indexing

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章