在pythona
中是:
a = "XPZC"
为什么False
在python中跟随?
(str(a)[:2] == ("YP" or "XP"))
在pythona
中是:
a = "XPZC"
为什么False
在python中跟随?
(str(a)[:2] == ("YP" or "XP"))
这是因为("YP" or "XP")
解析为,"YP"
因为它要求返回是否"YP"
或"XP"
解析为True
。
在这种情况下,“或”是短路的(因为"YP"
is not False
,"XP"
所以不评估)。它返回的非 False 值"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
(str(a)[:2] in ["YP", "XP"])
"YP" or "XP"
返回'YP'