Python常量池,python常量,在python里,有
Python常量池,python常量,在python里,有
在python里,有一个神奇的机制:常量池
Python 内部做了一些优化,Python把常用的整数对象都预先缓存起来
特点:
1.整数范围: -5 -- 257
2.它永远不会被GC机制回收, 只要定义的整数变量在 范围: -5 -- 256内,会被全局解释器重复使用, 257除外
3.只要在这个 -5 -- 256 范围内,创建同一区域代码块的变量的值如果是相等的,那么不会创建新对象(python万物皆对象,数值也是对象),直接引用。
一:
a = 123b = 123print(id(a)) >>> 1744793632print(id(b)) >>> 1744793632
二:
def test_a(): a = 123 print(id(a))def test_b(): b = 123 print(id(b))test_a() >>> 1744793632
test_b() >>> 1744793632
三:奇葩的257
def test_a():
a = 257
b = 257
print(id(a)) # 1872078405424
print(id(b)) # 1872078405424
num1 = 257
num2 = 257
print(id(num1)) # 1872077827792
print(id(num2)) # 1872077827792
test_a()
257 这个整数对象是区分作用域的,它只有在相同的作用域, 内存地址才会相同
Python常量池
相关内容
- python3的构造方法,python3构造方法,1. 作用创建对象时
- [ubuntu]安装并使用python 3.6及与2.7的切换,ubuntupython,参考
- python--easygui,,1.msgboxim
- python3.6使用pygal模块不具交互性,图片不能显示数据,
- Python Falling back to the 'python' engine because th
- Python+OpenCV图像处理(七)—— 滤波与模糊操作,pyth
- 【专栏】Python在DevOps中的应用,专栏pythondevops,互联网时
- 使用python操作InfluxDB,python操作influxdb,环境: CentOS
- python 的 turtle 库(一),pythonturtle,TurtleScre
- python DRF获取参数介绍,pythondrf获取参数,DRF获取参数的
评论关闭