擅长:python、mysql、java
<p>虽然<code>a = 'foo' if True else 'bar'</code>是执行三元if语句(python 2.5+)的更现代的方法,但您的版本的1:1等效值可能是:</p>
<pre><code>a = (b == True and "123" or "456" )
</code></pre>
<p>。。。在python中应该缩短为:</p>
<pre><code>a = b is True and "123" or "456"
</code></pre>
<p>。。。或者如果你只是想测试b值的真实性。。。</p>
<pre><code>a = b and "123" or "456"
</code></pre>
<p><code>? :</code>可以换成<code>and or</code></p>