python中对象的逻辑值

Python 中 None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()的 逻辑值都为False ,即:

[python]
  1. not None == not False == not '' == not 0 == not [] == not {} == not ()

因此在使用列表的时候,如果你想区分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

你可能感兴趣的:(python中对象的逻辑值)