_len__ 为 len() __getitem__ 为 i查找 __setitem__ 为元素赋值 __delitem__ 删除元素 __iter__ 为 对象上的迭代(例如in for循环) __contains__ 为 in
import random
class VagueList:
def __init__(self, cont):
self.cont = cont
def __getitem__(self, index):
return self.cont[index + random.randint(-1, 1)]
def __len__(self):
return random.randint(0, len(self.cont)*2)
vague_list = VagueList(["A", "B", "C", "D", "E"])
print(len(vague_list))
print(len(vague_list))
print(vague_list[2])
print(vague_list[2])
结果:
>>> 6 7 D C >>>