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
この場合、「or」はショート サーキットです ( "YP"
is notFalse
であるため、"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
または、次を使用して 2 つの条件を確認しor
ます。
>>> s = a[:2]
>>> s == "YP" or s == "XP"
True
(str(a)[:2] in ["YP", "XP"])
"YP" or "XP"
戻り値'YP'