擅长:python、mysql、java
<p>只要<code>a</code>本身不能是“假”值,就可以将<code>returnsBool</code>更改为返回<code>a</code>/<code>None</code>,而不是<code>True</code>/<code>False</code></p>
<p>然后你可以写:</p>
<pre><code>var = maybe(a) or b
</code></pre>
<p>否则,定义自己的三元似乎是最好的选择:</p>
<pre><code>def conditional(func, a, b):
return a if func(a) else b
</code></pre>
<p>您可以使用<code>partial</code>针对特定条件对其进行自定义:</p>
<pre><code>from functools import partial
some_cond = partial(conditional, returnsBool)
vars = [some_cond(a, b) for a, b in whatever]
</code></pre>