【编程】Python识别操作

识别操作符用来比较两个对象的内存分配,有两个识别操作符: “is”“is not” .

  • is – 当两个变量是相同的对象,返回 true
  • is not – 当两个对象不是相同的对象,返回true

x is y 等于 true 当且仅当x和y是同一个对象。对象识别的确定是依靠使用id()函数 。 x is not y 获得相反的判断值。

Python的 is 操作符

x = '101' 
y = '101'
z = '102'
if (x is y):
print ('x is y')
else:
print ('x is not y')
if (x is z):
print('x is z')
else:
print ('x is not z')
if (y is z):
print('y is z')
else:
print ('y is not z')

输出

x is y
x is not z
y is not z

Python 的 is not 操作符

x = '101' 
y = '101'
z = '102'
if (x is not y):
print ('x is not y')
else:
print ('x not y')
if (x is not z):
print ('x is not z')
else:
print ('x is z')
if (y is not z):
print ('y is not z')
else:
print ('y is z')

输出

x not y
x is not z
y is not z

“==” 和 “is”不同点

如果两个变量指向同一个对象is 操作符,则返回 True,如果变量引用的对象是相等的, “==” 就返回 True,例如,变量 num1 和 num2 指向同一个对象 值为101的实例:

num1 = 101
num2 = num1

因为num2 引用同一个对象, is 和 == 都获得 True:

>>> num1 == num2
True
>>> num1 is num2
True

下面的例子变量 num1 和 num2 可能引用不同的整数实例,尽管存储的是同样的整数:

>>> num1 = 101
>>> num2 = 101

因为值相同,操作符 == 将返回True, 所以它经常用于值的比较。如果是引用的不同对象,操作符 is 会返回 False(解释器版本不同,实现结果可能不同):

>>> num1 == num2
True
>>> num1 is num2
False

用操作符完成以下事情:

  • 检查两个对象是否是同一对象(不仅仅是值相等)
  • 比较一个值是否是一个Python 常量

Python常量包括:

  • None
  • True
  • False
  • NotImplemented
  • Ellipsis
  • __debug__
  • classes (比如:int is int 或 int is float)
此条目发表在人工智能, 服务器, 程序开发分类目录,贴了, , , , , , , , 标签。将固定链接加入收藏夹。