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