系统相关
首页 > 系统相关> > python是否在相邻的内存位置存储类似的对象?

python是否在相邻的内存位置存储类似的对象?

作者:互联网

Python是否在彼此更近的内存位置存储类似的对象?
因为类似对象的id,比如列表和元组,比str类型的对象更接近彼此.

解决方法:

不,当然除了巧合.虽然这是高度实现和特定于环境的,并且实际上存储器管理方案将页面大小的内存区域专用于相同类型的对象,但是我所知道的Python实现没有展示您描述的行为.除了小数字之外,它们有时会被隐藏在引擎盖下并且可能彼此相邻.

您所看到的可能是因为字符串文字是在导入时创建的(字节代码中的常量的一部分)和实习,而列表和元组(不包含文字)是在运行代码时创建的.如果在它们之间分配了一堆内存(特别是如果它没有被释放),那么堆的状态可能会大不相同,以至于在您检查时会发出完全不同的地址.

标签:python,memory-management,storage,contiguous
来源: https://codeday.me/bug/20190625/1284353.html