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。