_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 >>>