Python中(bool)的then和else语法?

26 投票
6 回答
31175 浏览
提问于 2025-04-17 10:48

可能是重复的问题:
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 函数 一起使用哦。

撰写回答