你错过了这
is not是一个操作符 太 。
如果不使用
is,则常规
not运算符将返回一个布尔值:
>>> not NoneTrue
not None因此是的反布尔“值”
None。在布尔上下文中
None为false:
>>> bool(None)False
not None布尔值也是如此
True。
两者
None并
True有对象了,而且都有一个内存地址(该值
id()对CPython的Python实现收益):
>>> id(True)4440103488>>> id(not None)4440103488>>> id(None)4440184448
is测试两个引用是否指向 同一对象 ;
如果某物是同一对象,那么它也将具有相同的对象
id()。
is返回一个布尔值,
True或
False。
is not是
is运算符的逆数。
not (op1 is op2)在一个运算符中,它等于。它应该 不 被理解为
op1 is (notop2)在这里:
>>> 1 is not None # is 1 a different object from None?True>>> 1 is (not None) # is 1 the same object as True?False



