擅长:python、mysql、java
<p>它与第二个值pass(一个所谓的sentinel值)有关,这确保被迭代的对象是一个可调用的,即函数。
因此,对于<code>iter()</code>执行的每一次迭代,它都会对传递的对象调用<code>__next__()</code>。在</p>
<p><code>iter()</code>有两种不同的行为</p>
<ul>
<li>没有哨兵值</li>
<li>有一个哨兵值</li>
</ul>
<p>文档中的示例对于理解它非常有用</p>
<pre><code>with open("mydata.txt") as fp:
for line in iter(fp.readline, "STOP"): #fp.readline is a function here.
process_line(line)
</code></pre>