qq_37335168 2022-05-28 16:00 采纳率: 84%
浏览 7
已结题

怎样理解python的常驻内存?

怎样理解python为某些数字预留的常驻内存?

id(4) #不管运行多少次该代码,其返回的值均不变,因为python会保持一些常用的数字常驻内存,不会每次都重新分配内存空间
id('hello world') #每次运行,返回的值均会发生变化,因为每次运行,相当于都在重新分配内存空间

  • 写回答

1条回答 默认 最新

  • qq_37335168 2022-05-29 13:03
    关注

    解释器的交互模式下会有一个整数池的概念,[-5,256]之间的数会被放在里面,范围内的数多次被引用地址不会发生变化;但范围外的却会出现地址不同的情况;这里的整数池和常驻内存是否是一个意思?

    >>> a =4
    >>> b =4
    >>> id(a);id(b)
    140726194918528
    140726194918528
    >>> a =257
    >>> b =257
    >>> id(a);id(b)
    2970765407728
    2970770258096
    >>> a =-7
    >>> b = -7
    >>> id(a);id(b)
    2970770259280
    2970765407728
    
    

    但是仅限于交互模式下 a,b的值超出范围之后它们引用的对象不同,脚本模式下给a、b赋予相同的值,那么它们引用的对象必然相同,true;

    评论

报告相同问题?

问题事件

  • 系统已结题 6月5日
  • 创建了问题 5月28日

悬赏问题

  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错
  • ¥15 Lingo线性规划模型怎么搭建
  • ¥15 关于#python#的问题,请各位专家解答!区间型正向化
  • ¥15 unity从3D升级到urp管线,打包ab包后,材质全部变紫色
  • ¥50 comsol温度场仿真无法模拟微米级激光光斑
  • ¥15 上传图片时提交的存储类型
  • ¥15 VB.NET如何绘制倾斜的椭圆