python中提供了is与==来判断变量
is:判断两个变量的内存地址是否相同
==:判断两个变量的值是否相同
在python中有一个数据区,数据区中存储的都是常量(不变的值、缓存数据等等),它有一个整型缓存区即Python2.3简单整数缓存范围是(-1,100),Python2.5.4以后简单整数缓存范围至少是(-5,256)时,不会开辟新的内存空间,字符串也有缓存区,但不能包含特殊字符
在pycharm中运行时,对于效率、性能的考虑,拥有相同值的对象不会重复创建而是直接引用已存在的对象(整形,字符串等等)
a = 10
b = 10
print(a == b)
print(id(a))
print(id(b))
print(a is b)
x = 102400
y = 102400
print(x == y)
print(id(x))
print(id(y))
print(x is y)
s = "hello"
ss = "hello"
print(s == ss)
print(id(s))
print(id(ss))
print(s is ss)
c = "hello "
cc = "hello "
print(c == cc)
print(id(c))
print(id(cc))
print(c is cc)
True 1459793324624 1459793324624 True True 1459795159376 1459795159376 True True 1459795067632 1459795067632 True True 1459795079920 1459795079920 True
|