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