python中对象的逻辑值

来源:互联网 发布:java微信接口开发 编辑:程序博客网 时间:2024/06/18 18:15
Python中 None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()的逻辑值都为False,即:

[python]
  1. <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
原创粉丝点击