Python中的__getitem__
是一个特殊方法,用于实现对象的索引访问。当我们使用索引操作符[]
来访问对象时,Python会自动调用该方法。
__getitem__
方法接受一个参数,即索引值,可以是整数、切片或其他可索引的对象。它应该返回与索引值对应的元素或子序列。
下面是__getitem__
方法的一些应用场景和示例:
- 列表和元组的索引访问:class MyList:
def __init__(self):
self.data = [1, 2, 3, 4, 5]
def __getitem__(self, index):
return self.data[index]
my_list = MyList()
print(my_list[2]) # 输出: 3
- 自定义对象的索引访问:class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __getitem__(self, index):
if index == 0:
return self.x
elif index == 1:
return self.y
else:
raise IndexError("Invalid index")
point = Point(2, 3)
print(point[0]) # 输出: 2
print(point[1]) # 输出: 3
- 实现可迭代对象:class Fibonacci:
def __init__(self, n):
self.n = n
def __getitem__(self, index):
if index < 0 or index >= self.n:
raise IndexError("Invalid index")
if index == 0 or index == 1:
return 1
a, b = 1, 1
for _ in range(index - 1):
a, b = b, a + b
return b
fib = Fibonacci(10)
for i in range(10):
print(fib[i]) # 输出: 1 1 2 3 5 8 13 21 34 55
在腾讯云的产品中,与Python相关的云服务包括云服务器、云函数、容器服务等。具体可以参考腾讯云的产品介绍页面。