【发布时间】:2015-10-25 04:22:24
【问题描述】:
>>> non_iterable = 1
>>> 5 in non_iterable
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'int' object is not iterable
>>> class also_non_iterable:
... def __contains__(self,thing):
... return True
>>> 5 in also_non_iterable()
True
>>> isinstance(also_non_iterable(), Iterable)
False
当in 关键字真正想要的是实现__contains__ 的对象时,是否有理由声称需要一个可迭代对象?
【问题讨论】:
标签: python