在 Python 中使用 getitem

Fariba Laiq 2022年5月17日
在 Python 中使用 getitem

__getitem__() 是 python 中的一种魔术方法魔术方法是程序员在编写代码时不直接调用的那些方法。

这些方法是在后端自动调用的系统调用。魔术方法和普通方法的区别在于魔术方法周围有双下划线。

这就是为什么它们也被称为 dunder 方法。这里的 Dunder 表示双下划线。魔术方法也用于运算符重载。

在类中使用 __getitem__() 允许类的实例使用索引器运算符 [ ] 和类的引用变量,以从特定索引访问列表、字典或元组的值。

当我们将索引器运算符与类的引用变量一起使用时,会自动调用此方法。在下面的代码中,我们创建了一个类 Person,并且在类的构造函数中,我们在创建对象时传递了名称列表。

我们已经明确定义了 __getitem__() 方法,该方法将列表索引作为参数并返回与该索引关联的名称。在代码中,我们没有显式调用 __getitem__() 方法。

当尝试使用 [ ] 运算符访问某个列表索引处的值时,会自动调用此方法。当我们编写 p1[1] 来访问列表的索引 1 处存在的值时,此方法被隐式调用为 p1.__getitem__(1)

示例代码:

# python 3.x
class Person:
    def __init__(self, names):
        self.names=names
    def __getitem__(self,index):
        return self.names[index]
p1=Person(["Jhon", "Kevin"])
print(p1[1])

输出:

# python 3.x
Kevin
Author: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

相关文章 - Python Class