python 文档经常提到“容器”。例如:
如果 check_circular 为 False(默认值:True),则容器类型的循环引用检查将被跳过,循环引用将导致 OverflowError(或更糟)。
但我找不到任何官方的容器定义,也找不到它们的列表。
编辑
对于 Python 2.7.3:
检查的内置类型是容器:
(isinstance(object, collections.Container)
返回True
)
__contains__
定义了方法的容器:- 所有内置序列类型:列表、字节数组、字符串、Unicode 字符串和元组。
- 字典
- 所有内置集合类型:集合和frozensets
没有
__contains__
定义方法的容器:- xrange 对象
检查不是容器的内置类型:
(isinstance(object, collections.Container)
返回False
):
- 整数对象
- 浮动对象
- 长物体
- 布尔对象
- 模块对象
- 文件对象
- 缓冲区对象
- 无对象
告诉我您检查了哪些其他内置类型isinstance(object, collections.Container)
,我会将它们添加到列表中。