擅长:python、mysql、java
<p>是的,<code>and</code>和<code>or</code>都是所谓的短路算子。值为假时,<code>and</code>表达式的求值结束,值为真时,<code>or</code>表达式的求值结束。你知道吗</p>
<p>您可以找到相关文档<a href="https://docs.python.org/2/library/stdtypes.html#boolean-operations-and-or-not" rel="nofollow">here</a>。你知道吗</p>
<p>下面是一段代码,您可以自己观察这种行为:</p>
<pre><code>def fib(n):
if n <= 2:
return 1
return fib(n-1) + fib(n-2)
print(False and fib(100)) # prints False immediately
print(True and fib(100)) # takes very, very long
print(fib(100) and False) # takes very, very long
</code></pre>
<p>所以记住,一定要使用<code>easy_boole and hard_boole</code>。你知道吗</p>