Python中for循环


Python 中 for 的语义不同于C语言中的循环,而是遍历迭代器——对一个迭代器(实现了 __next__)或者可迭代对象(实现了 __iter__)而言的。

比如:

for item in iterable:
    do_something(item)

其实是等价于:

_iterable = iter(iterable)  # iterable.__iter__()
while True:
    try:
        do_something(next(_iterable))  # iterable.__next__()
    except StopIteration:
        break

类似于PHP 中的 foreach语句。

评论关闭