< p > 可能的重复: < br > Python三元运算符 < br > 在一行上写一个简单的if-then语句 < / p >
if
else
仅供作为值使用:
x = 3 if a==2 else 0
或
return 3 if a==2 else 0
Python的if可以用作三元运算符:
>>> 'true' if True else 'false' 'true' >>> 'true' if False else 'false' 'false'
Python处理“三元”表达式的一个例子:
i = 5 if a > 7 else 0
转化为
if a > 7: i = 5 else: i = 0
在使用列表推导式时,或者有时在return语句中,这实际上很方便,否则我不确定它对创建可读的代码有多大帮助。
可读性问题在最近的SO问题比在python中使用if-else语句更好的方法中进行了详细的讨论。
它还包含各种其他聪明的(和一些混淆)方法来完成相同的任务。仅仅根据这些帖子就值得一读。
有条件表达式:
a if cond else b
但这是一个表达,不是一个陈述。
在if语句中,if(或elif或else)可以与块体写在同一行,如果该块只是像这样:
elif
if something: somefunc() else: otherfunc()
但出于格式风格的考虑,不鼓励这样做。