定制容器类型

定制容器的协议:

不可变:
__len__(self)#定义当被len()调用时的行为(返回容器中元素的个数)
__getitem__(self, key)#定义获取容器中指定元素的行为,相当于self[key]
可变:
__len__(self, key)
__getitem__(self, key)
__setitem__(self, key, value)#定义设置容器中指定元素的行为,相当于self[key] = value
__delitem__(self, key)#定义删除容器中指定元素的行为,相当于del self[key] = value
其他:
__iter__(slef)#定义当迭代器容器中的元素的行为
__reversed__(self)#定义当被reverse()调用时的行为
__contains__(self, item)#定义当使用成员测试运算符(in/not in)时的行为