Python 在三元条件运算符中执行两个以上的操作

Python 在三元条件运算符中执行两个以上的操作,python,Python,我想在python三元条件运算符中的一行代码中执行两个操作 以下是Python中传统的if-else语句: if Condition: a b else: c 我可以写这段代码在三元条件运算符中的一行代码中执行a和b吗,如下所示,我尝试了这段代码,但得到了SyntaxError a,b if condition else c 顺便说一句,我是初学者下面的练习很管用,但它的可读性很差 我会坚持你在问题中提到的标准传统的if,else声明: def do_a(): pr

我想在python三元条件运算符中的一行代码中执行两个操作

以下是Python中传统的if-else语句:

if Condition:
   a
   b
else:
   c
我可以写这段代码在三元条件运算符中的一行代码中执行a和b吗,如下所示,我尝试了这段代码,但得到了SyntaxError

a,b if condition else c

顺便说一句,我是初学者

下面的练习很管用,但它的可读性很差

我会坚持你在问题中提到的标准传统的
if,else
声明:

def do_a():
    print 'a'

def do_b():
    print 'b'

def do_c():
    print 'c'
在控制台中运行测试:

>>> (do_a(), do_b()) if True else do_c()
a
b

>>> (do_a(), do_b()) if False else do_c()
c

下面的内容很管用,但这是一个非常糟糕的做法,而且可读性很差

我会坚持你在问题中提到的标准传统的
if,else
声明:

def do_a():
    print 'a'

def do_b():
    print 'b'

def do_c():
    print 'c'
在控制台中运行测试:

>>> (do_a(), do_b()) if True else do_c()
a
b

>>> (do_a(), do_b()) if False else do_c()
c

试试看,伙计,你可能会感到惊讶。请不要加入“必须在一条线上做所有事情”的行列。如果一行中的内容妨碍了可读性,那就没有什么好看的了。对于这种特殊情况,三元运算符的目的是为真和假情况返回单个响应。如果条件c起作用,则此
a,b。尝试
3,4如果1其他2
。。。但不要使用三元表示副作用。条件表达式只能包含表达式;
if
语句可以包含语句,其中一些可能是表达式语句(即用作语句的表达式)。它们不应该是可互换的。@Jean-Françoisfare
3,4如果0,否则2
将返回
(3,2)
,这不是OP所期望的。试试吧,伙计,你可能会感到惊讶。请不要跳进“必须在一行中完成所有事情”的行列。如果一行中的内容妨碍了可读性,那就没有什么好看的了。对于这种特殊情况,三元运算符的目的是为真和假情况返回单个响应。如果条件c起作用,则此
a,b。尝试
3,4如果1其他2
。。。但不要使用三元表示副作用。条件表达式只能包含表达式;
if
语句可以包含语句,其中一些可能是表达式语句(即用作语句的表达式)。它们并不意味着可以互换。@Jean-Françoisfab
3,4如果0,否则2
将返回
(3,2)
,这不是OP所期望的。