Python中的"print(not())"是什么?



print(not("0"))如何给出false作为输出,print(not())给出True作为输出? 声明有什么作用?

print(not("0"))
print(not())

Not 与 if 条件 != 非常相似。如果值为真,则返回假。如果值为假值,则返回 true。由于大多数字符串都是真实的,因此它返回 false,并且由于 None 值是假的,因此它返回 true 因此,例如print(not(True))将返回 false,print(not(False))将返回 true

在 Python 中,空序列如 ()[]''{} 的计算结果都为 False,以及中间0。您可以通过对这些值中的任何一个使用 bool(( 函数来检查这一点。

在第一次打印中,not运算符返回的布尔值与 ("0") 的布尔值相反,该值既不是空序列,也不是0。换句话说,如果你打电话给bool(("0")),你会得到True作为回报,not True回报False

在你的第二次打印中,情况恰恰相反。 bool(())False,因此not ()应该True


顺便说一句:在您的第一个打印示例中,值("0")不是元组,而是字符串。我提到这一点只是为了以防万一你另有想法。

这是因为当您将 0 作为字符串传递给 not 函数时,它会将其视为 True 值,因此将其否定变为 False。而空字符串被视为 False 值,因此将其否定变为 True。如果将 0 作为数字而不是字符串传递,它将再次返回 True。

最新更新