问题描述
我知道for循环需要一个序列来对其进行迭代。但为什么。与其他语言一样,for循环可使用整数,浮点等普通值。在python中,为什么不能采用序列数据类型以外的其他值?
解决方法
For循环可能会让您感到困惑。
但是,如果您看到此概念的实现,
iter_obj=iter(iterable)
while True:
try:
item=next(iter_obj)
print(item)
except StopIteration:
break
它实现了迭代器的概念。因此,它需要一个序列
, For循环可与实现Iterable
协议的任何对象一起使用。
简而言之,Iterable
是实现__iter__
并允许您逐个传递项目的任何对象。
有关可迭代的更多信息,请参见Python Glossary。