在python中,身份运算是用来判断两个变量是否为同一个变量的运算,但是需要注意的是,两个变量的值相等并不代表着两个变量相同。
身份运算符:
is : 是
is not : 不是
案例:
>>> a = 2
>>> b = 2
>>> c = a is b
>>> print ( c )
True
为a和b分别赋值,使用身份认证,输出的结果为True,说明是同一个变量
>>> b = "我是大帅哥!"
>>> a = "我是大帅哥!"
>>> b_id = id(b)
>>> a_id = id(a)
>>> a_id = id(a)
>>> print (a is b);\
... print (a_id);\
... print (b_id)
False
4459996976
4459997032
上面的实例返回的结果为False,但是a和b赋值完全相同,
id()函数用来查看变量在内存中的实际存储位置,发现a,b变量的id号不一样,这就涉及到python的内存管理机制,在python里面一切都是对象都是变量,但是python为了节省内存,对于小的整数和短的字符串,python在处理的时候,会把相同的数据指向不同的对象,但是它们的ID相同