Python 3 – 身份运算符示例
Python内置函数id()返回对象的唯一整数身份。身份运算符比较两个对象的内存位置。以下两个身份运算符如下:
运算符 | 描述 | 示例 |
---|---|---|
is | 如果操作符两边的变量指向同一对象,则为true,否则为false。 | x is y,这里 is 如果id(x)等于id(y),则结果为1。 |
is not | 如果操作符两边的变量指向同一对象,则为false,否则为true。 | x is not y,这里 is not 如果id(x)不等于id(y),则结果为1。 |
示例
#!/usr/bin/python3
a = 20
b = 20
print ('Line 1','a=',a,':',id(a), 'b=',b,':',id(b))
if ( a is b ):
print ("Line 2 - a和b具有相同的身份")
else:
print ("Line 2 - a和b没有相同的身份")
if ( id(a) == id(b) ):
print ("Line 3 - a和b具有相同的身份")
else:
print ("Line 3 - a和b没有相同的身份")
b = 30
print ('Line 4','a=',a,':',id(a), 'b=',b,':',id(b))
if ( a is not b ):
print ("Line 5 - a和b没有相同的身份")
else:
print ("Line 5 - a和b具有相同的身份")
输出
当您执行上述程序时,它会产生以下结果 –
Line 1 a= 20 : 1594701888 b= 20 : 1594701888
Line 2 - a和b具有相同的身份
Line 3 - a和b具有相同的身份
Line 4 a= 20 : 1594701888 b= 30 : 1594702048
Line 5 - a和b没有相同的身份