擅长:python、mysql、java
<p>如果<code>choice_</code>函数返回<code>True</code>如果成功,<code>False</code>如果不成功,则可以依次尝试每一个函数,直到其中一个函数成功,只需执行以下操作:</p>
<pre><code>choice_a() or choice_b() or choice_c()
</code></pre>
<p>因为<code>or</code>是短路的,所以表达式一找到返回true的操作数就会结束。你知道吗</p>
<p>或者,如果它看起来更优雅,你可以这样写:</p>
<pre><code>any(x() for x in (choice_a, choice_b, choice_c))
</code></pre>
<p><code>any</code>也会短路,以便在找到真操作数时立即停止。你知道吗</p>
<p>这还允许您维护作为此操作一部分的函数选项列表,并按如下方式使用:</p>
<pre><code>choices = [choice_a, choice_b, choice_c]
...
any(x() for x in choices)
</code></pre>