for 循环是我们在 Python 里非常常用的一个语法,但你有没有思考过 for 循环是怎样实现的?
如果你以前接触过 C++,应该会知道类似 for (int i = 0; i < 100; i++) 这样的写法,它定义了循环的执行条件 i < 100 以及每次循环结束后执行的语句 i++,而 for 本身只起到让代码重复执行的作用,并没有什么额外的功能。这在 Python 中其实更像是 while 循环:
i = 0
while i < 100:
# 执行循环代码
i += 1
复制代码
但 Python 里的 for 循环却不一样。使用 for 时,我们没有额外指定结束条件,也不需要一个用来计数的数值,甚至可以通过一个字符串进行循环。之所以可以这样,是因为 Python 中的迭代器(Iterator)以及可迭代对象(Iterable)。