在python中a
是:
a = "XPZC"
为什么在python中关注False
?
(str(a)[:2] == ("YP" or "XP"))
答案 0 :(得分:9)
这是因为("YP" or "XP")
解析为"YP"
,因为它要求返回"YP"
或"XP"
是否解析为True
。
在这种情况下,'或'被短路(因为"YP"
不是False
,所以"XP"
未被评估)。它返回"YP"
的非假值,即"YP"
同样a[:2]
等于XP
。此外,您无需致电str()
,因为a
是一个字符串。
>>> a = "XPZC"
>>> a[:2]
'XP'
>>> "YP" or "XP"
'YP'
您可能想要使用in
:
>>> a[:2] in ("YP", "XP")
True
或者,只需使用or
检查两个条件:
>>> s = a[:2]
>>> s == "YP" or s == "XP"
True
答案 1 :(得分:1)
(str(a)[:2] in ["YP", "XP"])
"YP" or "XP"
返回'YP'