python中数字,字符串存在小数据池,什么是小数据此呢,在一定规则范围内,如果同时定义多个相同值的数字类型或字符串类型变量,他们会共用一个内存地址。可以用 is 验证。小数据池的目的是节省内存空间。
数字:范围在 -5~256
字符串:1.没有特殊字符。
2. s*20以内,若乘以大于20的数,则不会共用内存地址。
>>> num1 = 10
>>> num2 = 10
>>> print(num1 is num2)
True
>>> num3 = 257
>>> num4 = 257
>>> print(num3 is num4)
False
>>> s1 = "hello"
>>> s2 = "hello"
>>> print(s1 is s2)
True
>>> s3 = "hello~"
>>> s4 = "hello~"
>>> print(s3 is s4)
False
>>> s1 = "a"*20
>>> s2 = "a"*20
>>> print(s1 is s2)
True
>>> s3 = "a"*21
>>> s4 = "a"*21
>>> print(s3 is s4)
False