Python 中 x = (10
我想知道 python 中与此等效的内容是什么:
n = 100
x = (10 < n) ? 10 : n;
print x;
出于某种原因,这在 Python 中不起作用。我知道我可以使用 if 语句,但我只是好奇是否有更短的语法。
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web
技术交流群。
我想知道 python 中与此等效的内容是什么:
n = 100
x = (10 < n) ? 10 : n;
print x;
出于某种原因,这在 Python 中不起作用。我知道我可以使用 if 语句,但我只是好奇是否有更短的语法。
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
进行三元运算有多种方法,第一种是 2.5 添加的表达式:
如果您想兼容低于 2.5 的版本,您可以利用布尔值是
int
的子类这一事实,True
的行为类似于1
,而False
的行为类似于0
:另一种可能性是利用 Python 中运算符的行为方式或者更准确地说,
and
和or
的行为方式:There are various ways to make a ternary operation, the first one is the expression added with 2.5:
If you want to be compatible with versions lower than 2.5 you can exploit the fact that booleans are subclasses from
int
and thatTrue
behaves like1
whereasFalse
behaves like0
:Another possibility is to exploit the way operators in Python behave or more exactly how
and
andor
behave:请参阅http://en.wikipedia.org/wiki/Ternary_operation
see http://en.wikipedia.org/wiki/Ternary_operation
(需要Python 2.5)
(requires python 2.5)
或者,更一般地说:
Or, more generally:
这是Python中的三元运算符(也称为条件表达式 在文档中)。
Here is the ternary operator in Python (also know as conditional expressions in the docs).