容器 container
容器是包含其它数据类型对象(即包含对其它对象的引用)的一种数据结构或数据类型
容器最大的特性就是具有判断一个元素是否在这个容器内的操作。在 Python 中,我们通常使用 in 或 not in 来判断一个元素存在/不存在于一个容器内
注意:尽管绝大多数容器都提供了某种方式来获取其中包含的每一个元素,但这并不是容器本身提供的能力,而是 iterable 赋予了容器这种能力
判定一个对象是否为容器
- 可以导入collections.abc模块中的Container,配合函数isinstance,实现准确判断
自定义一个容器
- 针对于可迭代对象与迭代器的构造,提供了一个方法
- __contains__
class container():
def __init__(self):
self.lst = [1, 2, 3]
def __contains__(self, item):
print("contains方法被调用")
return item in self.lst
c = container()
print(2 in c)
#输出结果:
"""
contains方法被调用
True
"""