Python身份运算符

Python身份运算符

了解身份运算符之前先问问大家,你们给python办身份证了吗?身份运算符用于比较两个对象的存储单元

运算符描述实例
isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(x) != id(y)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
身份运算符

注: id() 函数用于获取对象内存地址。

以下实例演示了Python所有身份运算符的操作:

实例(Python 3.0+)

#!/usr/bin/python3 a = 20 b = 20 if ( a is b ): print (“1 – a 和 b 有相同的标识”) else: print (“1 – a 和 b 没有相同的标识”) if ( id(a) == id(b) ): print (“2 – a 和 b 有相同的标识”) else: print (“2 – a 和 b 没有相同的标识”) # 修改变量 b 的值 b = 30 if ( a is b ): print (“3 – a 和 b 有相同的标识”) else: print (“3 – a 和 b 没有相同的标识”) if ( a is not b ): print (“4 – a 和 b 没有相同的标识”) else: print (“4 – a 和 b 有相同的标识”)

以上实例输出结果:

1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识

is 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。>>>a = [1, 2, 3] >>> b = a >>> b is a True >>> b == a True >>> b = a[:] >>> b is a False >>> b == a True

0

评论0

请先

没有账号? 注册  忘记密码?