擅长:python、mysql、java
<p>不,这是不可能的(至少不能用任意的语句),也不可取。将所有内容都放在一行很可能违反<a href="http://www.python.org/dev/peps/pep-0008/">PEP-8</a>的规定,即行的长度不得超过80个字符。</p>
<p>这也违背了Python的禅宗:“可读性很重要”。(在Python提示符处键入<code>import this</code>以读取整个内容)。</p>
<p><em>可以在Python中使用三元表达式,但只能用于表达式,不能用于语句:</p>
<pre><code>>>> a = "Hello" if foo() else "Goodbye"
</code></pre>
<p><strong>编辑:</strong></p>
<p>修改后的问题表明,除了赋值之外,这三个语句是相同的。在这种情况下,链式三元运算符确实有效,但我仍然认为它的可读性较差:</p>
<pre><code>>>> i=100
>>> a = 1 if i<100 else 2 if i>100 else 0
>>> a
0
>>> i=101
>>> a = 1 if i<100 else 2 if i>100 else 0
>>> a
2
>>> i=99
>>> a = 1 if i<100 else 2 if i>100 else 0
>>> a
1
</code></pre>