python - 从python中的float中减去 bool 值

标签 python

<分区>

无论如何,在调试我的代码时,我发现基本上从 float 中减去 boolean 的语句。

然后我尝试在 python 控制台中执行以下操作:

>>> 15.0 - True 
14.0
>>> 15.0 - False
15.0

谁能给我解释一下:

最佳答案

这是合法的,因为boolint的子类:

>>> bool.__bases__
(<type 'int'>,)
>>> True == 1
True
>>> False == 0
True

是的,它有一些实际应用。例如,在引入三元语句之前可以做类似的事情:

result = [value_if_false, value_if_true][condition]

这基本上完成了这段代码中将完成的工作:

if condition:
    result = value_if_false
else:
    result = value_if_true

其他实际用法是:

  • 您可以求和几个检查/ bool 值以获得等于True的结果数,
  • 你可以乘以检查的结果:

    result = can_count_a * a + can_count_b * b
    

关于python - 从python中的float中减去 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18601484/

相关文章:

python - 在 Azure Web 角色上安装 Numpy 时出现 "No space left on device"

python - 导入 scikit-learn 时出错

javascript - 如何将 python 中的字符串变量转换为 javascript 文字数组?

python - 获取文件的绝对路径为什么要遍历另一个目录

带有 AttributeError 和 ValueError 的 Python PropertyMock 副作用

python - 类级装饰器

python - 什么在这个 python 代码(谷歌应用引擎)中产生 "405 Method Not Allowed"?

python - ipython 中的制表符完成列表元素

python - 如何将多个列值连接到 Pandas 数据框中的单个列

python - TensorFlow:如何有效地训练每一层都需要馈送的网络?