我了解 Python 内置类型具有“真实性”值,并且考虑了空字符串False
,而考虑了任何非空字符串True
。
这是有道理的
我可以使用内置函数检查这一点bool
。
>>> bool("")
False
>>> bool("dog")
True
在使用条件句时,我也可以利用这些真实性值。例如:
>>> if "dog":
... print("yes")
...
yes
这令人困惑
但是,这不适用于==
操作员:
>>> "dog" == True
False
>>> "dog" == False
False
谁能解释为什么==
似乎与有条件的行为不同?