为什么函数有时返回0,有时返回False



我在Python 3.9(f(x, y, z) = (x and y) or (not x and z)(中制作了一个非常简单的函数,用于打印此操作的结果。让我感到奇怪的是,在某些情况下,它会打印0,而在其他情况下,则会打印False。例如,f(0, 1, 0)打印0,而f(1, 0, 1)打印False。为什么?

and如果第一个值为false,则返回第一个值,否则返回第二个值。如果第一个值是真的,or返回第一个值,否则返回第二个值。因此,andor不会改变类型。然而,not将始终转换为具有相反真性的布尔值。因此,not 1变成FalseFalse and z变成False,如果x and y不是真的,则表达式将计算为False。这就是为什么您可以获得不同的数据类型。

相关内容

  • 没有找到相关文章

最新更新