2019-09-02 |

魔术方法

几种其他的魔术方法
_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
>>>
我们已经为类重写了len() 函数来返回一个随机数。
索引函数还根据表达式从列表中的范围返回一个随机项。

0

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论