python - 我不明白 Python 中的 boolean 值

标签 python boolean

我编写了这段代码(x 在此作用域之前通过 str() 运行):

if x == "A" or "O":
    return x

x = B 时,返回B。有人可以帮助我理解为什么 x = B 在这里验证吗?

当我将代码更改为读取时

if x == "A":
    return x
elif x == "O":
    return x

它与x = B不匹配,所以我假设这里的 boolean 逻辑有一些我不理解的东西。

最佳答案

if x == "A"or "O": 应该是if x == "A"or x == "O":

if x == "A"or "O": 将始终被评估为 true

<小时/>

如果 x == "A"或 "O": 解释为:

如果 (x == "A") 或 ("O")"O"true,因此即使 x 不是 "A",因为您有 or,所以这将始终是 true

或者你可以写:

if x in ["A", "O"]:

关于python - 我不明白 Python 中的 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18227780/

相关文章:

python - 如何检查迭代器是否实际上是迭代器容器?

python - 使用 py2exe 将 python 脚本转换为 .exe 时,它​​是否更快?

forms - 如何将 Laravel 中的 boolean 值从表单传递到数据库?

javascript - 使用 boolean 值切换

python - 将 os.system 的输出保存到文本文件

python - 如何使用 python 从该 html 段中获取字符串

python - 如何使logging.debug在Appengine上工作?

c# - 按位或 : C# versus C++

java - 如何比较三个 boolean 值

.net - boolean 和数学表达式解析器