Python布尔真值测试
可能重复:Python布尔真值测试,python,boolean,Python,Boolean,可能重复: Python是否有一个等价的三元操作符 ( x < 5 ? 1 : 0 ) (x
Python是否有一个等价的
三元操作符
( x < 5 ? 1 : 0 )
(x<5?1:0)
或者我必须用来表达相同的东西吗?如果还有对吗?您可以使用:
如果x<5,则1,否则为0
在为非常旧版本的Python编写的代码中,您还可以看到:
x < 5 and 1 or 0
x<5和1或0
但是,Python 2.5及更高版本首选条件表达式形式。Python有:
1 if x < 5 else 0
如果x<5,则1,否则为0
还是旧式:
x < 5 and 1 or 0
x<5和1或0
请注意,如果和后面的值为false,则和/或将失败。@Greg:谢谢。我会在11分钟内接受你的回答。当然,在这种情况下,你可以使用x<5
作为值本身,或者bool(x<5)
如果x
是一种特别奇怪的类型。@ignacio,情况似乎不是这样0和0或1
对我来说返回1
,刚刚在Python 2.3到2.7上测试过,在必须在Python中工作的代码中应该首选if:/else:
x < 5 and 1 or 0