<p>这是你问的一个很好的问题,很多新人都有这个问题。你知道吗</p>
<p>问题在于<code>return</code>关键字。在函数中,当它<code>returns</code>一个值时,函数立即中断。因此,不会运行函数中的后续代码。因此,我们可以将条件语句简化为:</p>
<pre><code>if a > b:
return a
# Function breaks here - no more code is executed.
# This bit is never reached if a is returned
return b
</code></pre>
<hr/>
<p>观察:</p>
<pre><code>def test():
if 10 > 5:
print("Hello!")
return True
print("Hi!")
return False
</code></pre>
<p>当我们调用<code>test()</code>时,只打印<code>Hello!</code>。你知道吗</p>
<hr/>
<p>这很有用的一个原因是,在Python中有多个条件语句时,可以阻止错误的空格。当然,在大多数其他编程语言中,由于空格不是一个特性,所以它不是必需的。你知道吗</p>
<p>假设您正在编写一个函数来检查一个数是否为素数,其中需要很多条件语句。(当然,在这个例子中,这是没有效率的):</p>
<pre><code>def is_prime(n):
if n == 1:
return False
else:
if n == 2:
return True
else:
for i in range(2, n):
if n % i == 0:
return False # A factor exists
else:
continue
return True
</code></pre>
<p>知道<code>return</code>会破坏函数,我们可以将其重写为:</p>
<pre><code>def is_prime(n):
if n == 1:
return False
if n == 2:
return True:
for i in range(2, n):
if n % i == 0:
return False # A factor exists
return True
</code></pre>
<p>你看凹痕怎么这么干净?你知道吗</p>