在 Python 中使用 getitem
Fariba Laiq
2022年5月17日
__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
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