Python金融数据挖掘与分析实战
上QQ阅读APP看书,第一时间看更新

2.4.7 身份运算符

身份运算符用于比较两个对象的存储单元,如表2-10所示。

表2-10 身份运算符

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


a = 20 
b = 20 
if ( a is b ): 
    print ("1-a 和 b 有相同的标识") 
else: 
    print ("1-a 和 b 没有相同的标识") 
if ( a is not 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