容器总是可迭代的吗?

Pyt*_*ner 3 python containers iterable

在此处输入图片说明

根据此图,是否存在容器不可迭代的情况?

blu*_*ote 5

取决于您所说的始终是什么意思。根据collections.abc

  • 一个容器是一个对象,它实现__contains__方法
  • 可迭代对象是实现__iter__(或__getitem__作为后备)的对象

因此,理论上,不,您可以实现一个不可迭代的容器。但是,所有标准 Python 容器(以及大多数由库实现的容器)也是可迭代的。