擅长:python、mysql、java
<p>对于<code>gen</code>,<code>oups</code>只是一个自由变量,它的查找从未发生过<code>any</code>在需要之前停止使用由<code>gen</code>返回的生成器</p>
<p>但是,对于<code>iter([False, True, oups])</code>,必须首先完全创建列表<code>[False, True, oups]</code>,以便将其传递给<code>iter</code>以返回列表迭代器。要执行<em>这</em>,必须进行<code>oups</code>的查找,因为它没有定义,我们在<code>iter</code>之前得到一个<code>NameError</code>,更不用说<code>any</code>甚至运行了。第二个代码的计算方法与</p>
<pre><code>t1 = [False, True, oups] # NameError here
t2 = iter(t1)
if any(t2):
print('At least one is True')
</code></pre>