Python中(bool)的then和else语法?
可能是重复的问题:
Python 三元运算符
在一些编程语言中,比如Java、C/C++、C#等,你可以根据一个简单的真假判断来给变量赋值。
举个例子,
return (i < x) ? i : x
这段代码的意思是:如果i小于x,就返回i;否则返回x。我觉得这种写法在很多情况下比后面要介绍的长写法要简洁得多。
if (i < x)
return i
else
return x
那么在Python中可以使用这种写法吗?如果可以,怎么用呢?
6 个回答
5
在Python 2.5版本中,出现了a if b else c这种写法。大多数人已经升级到最新版本了,但在一些老旧的代码中,你可能会看到其他的写法:
some_var = a<b and a or c
如果你将来会使用这种写法,记得a的结果不能是False,也就是不能是假的意思。
6
是的,它看起来像这样:
return i if i < x else x
这个在Python中叫做条件运算符。
24
你可以使用 (x if cond else y)
这种写法,比如:
>>> x = 0
>>> y = 1
>>> print("a" if x < y else "b")
a
这个写法也可以和 lambda 函数 一起使用哦。