不,这是不可能的(至少不能使用任意语句),也不是可取的。将所有内容都放在一行中很可能会违反PEP-8,在这种情况下,每行的长度不得超过80个字符。
这也与Python的Zen背道而驰:“可读性很重要”。(
import this在Python提示符下键入以读取整个内容)。
您 可以 在Python中使用三元表达式,但只能用于表达式,不能用于语句:
>>> a = "Hello" if foo() else "Goodbye"
编辑:
现在,您修改后的问题表明,除了要分配的值之外,这三个语句是相同的。在这种情况下,链式三元运算符确实可以工作,但我仍然认为它的可读性较差:
>>> i=100>>> a = 1 if i<100 else 2 if i>100 else 0>>> a0>>> i=101>>> a = 1 if i<100 else 2 if i>100 else 0>>> a2>>> i=99>>> a = 1 if i<100 else 2 if i>100 else 0>>> a1



