擅长:python、mysql、java
<p>Python <code>and</code>运算符有一点您偶然发现的特性:</p>
<pre><code>val = 5
print(1 and val)
print(2 and val)
print(0 and val)
print(-1 and val)
print(-2 and val)
</code></pre>
<p><em>输出:</em></p>
<pre><code>5
5
0
5
5
</code></pre>
<p>因此,<strong>在Python中<code>and</code>直接返回<code>0</code>,如果第一个表达式的计算结果为<code>0</code>,则返回第二个表达式</强></p>
<p>因此,在您的例子中<code>val1 and val2 and val3</code>将返回<code>val3</code>,因为其他的是<code>non-zero</code></p>