[python]
- <strong>not None == not False == not '' == not 0 == not [] == not {} == not ()</strong>
因此在使用列表的时候,如果你想区分x==[ ] 和x == None两种情况时,
用not 逻辑运算符判断对象是否是空的列表、元祖、字典,
而用成员运算符 is 或者 is not判断对象是否是None
not x 意思相当于 if x is false, then True, else False
x = []
if not x:
print('x is empty')
y = None
if y is None:
print('y is None')
== 是判别两个对象的等值性。而is 则是判断两个对象是否为同一个对象,即它们的ID是否一致。
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。
>>>
a
=
[
1
,
2
,
3
]
>>>
b
=
a
>>>
b
is
a
True
>>>
b
==
a
True
>>>
b
=
a
[
:
]
>>>
b
is
a
False
>>>
b
==
a
True