status= None
if 'Up' or 101 in status:
print "Inside If statement"
else:
print "Inside Else Statement"
代码流进入“ If”循环内,并显示“ Inside If语句”。状态实际上是“无”,通过阅读代码,它应该打印“ Inside Else Statement”。我可以修改验证部分,并使其在else语句中执行。但是我想知道在这种情况下如何返回“ True”
if 'Up' or 101 in status:
答案 0 :(得分:0)
Python中的字符串是虚假的,也就是说,空字符串(''
)等效于False
,其他字符串是True
。
您的状况被评估为(括号仅用于说明目的)
if ('Up') or (101 in status):
由于'Up'
始终为True
,因此它将始终位于if
块内。
您可以改写:
if 'Up' in status or 101 in status:
或更any
的通用方式是:
if any(x in status for x in ('Up', 101)):
您可以为此in this question
找到更多答案