1、在 Python中,采用的是基于值的内存管理方式,每个值在内存中只有一份存储如果给多个变量赋相同的值(如数值类型、字符串类型、元组),那么多个变量存储的都是指向这个值的内存地址,即id也就是说,Python中的变量并没有存储变量的值,而是存储指向这个值的地址或引用。

示例1:

a=3
b=3
c=1
print("a is b结果:"+str(a is b))  #True
print("a is c结果:"+str(a is c))  #False
print("id(a)=%d,id(b)=%d,id(c)=%d"%(id(a),id(b),id(c)))

运行结果如下图所示:

示例2:

a=(1,2,3)
b=(1,2,3)
c=(1,1,1)
print("a is b结果:"+str(a is b)) #元组不变性
print("a is c结果:"+str(a is c))
print("id(a)=%d,id(b)=%d,id(c)=%d"%(id(a),id(b),id(c))) 

运行结果如下图所示:

2、对于组合数据(如列表、字典和集合。注意元组除外)而言,每次创建一个组合数据对象,都会重新给其分配内存。因此,给具有相同内容的组合数据变量分配的内存地址不同。

示例3:

a=['a','b','c'] #列表
b=['a','b','c']
c=['a','a','a']
print("a is b结果:"+str(a is b))
print("a is c结果:"+str(a is c))
print("id(a)=%d,id(b)=%d,id(c)=%d"%(id(a),id(b),id(c)))

运行结果如下图:

3、Python具有自动内存管理功能,会跟踪所有的值,自动删除不再有变量指向的值。因此,Python程序员一般不用考虑内存管理的问题。

Python中内存和变量管理相关推荐

  1. Python中内存管理的问题

    Python中内存管理的问题 pyqtgraph实时显示占用内存 删除变量释放内存 后记 我的环境是python3+SublimeText.python是解释型语言,平常对内存关注得不多. pyqtg ...

  2. 为什么python中不需要变量名和变量类型声明?

    python是解释型语言,python的变量不需要声明,但是需要初始化,python解释器会为每个出现的对象分配内存,哪怕他们的值完全相等(注意是相等不是相同),其中变量其实通过一个标记调用内存中的值 ...

  3. python中的class怎么用_对python 中class与变量的使用方法详解

    python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...

  4. python是什么语言、即变量不需要显示声明数据类型-python中可以声明变量类型吗...

    变量(variable)是Python语言中一个非常重要的概念.变量的主要作用就是为Python程序中的某个值起一个名字.类似于"张三"."李四"." ...

  5. python中class变量_对python 中class与变量的使用方法详解

    python中的变量定义是很灵活的,很容易搞混淆,特别是对于class的变量的定义,如何定义使用类里的变量是我们维护代码和保证代码稳定性的关键. #!/usr/bin/python #encoding ...

  6. python静态变量计数器_如何在Python中使用静态变量在计数

    今天,在用Python写一个统计一个文件下有多少文件的小标本时,遇到了一个很棘手的问题.如何在Python中使用静态变量来计数.然后,就在网上一通查找,找的方法都是利用类的方法来实现静态变量.说实话没 ...

  7. python下列合法的变量名是什么,python中的合法变量名有什么规则-Python教程

    python中非法变量名的规定有:一.能够由字母.数字.下划线组成,同时,不克不及以数字扫尾:二.不克不及是python要害字,但能够蕴含要害字:三.不克不及蕴含空格.例如:[a1c_x2z]. Py ...

  8. python中内存管理机制一共分为多少层_python 内存管理机制

    内存管理机制 ​python中万物皆对象,python的存储问题是对象的存储问题,并且对于每个对象,python会分配一块内存空间去存储它 ​Python的内存管理机制:引入计数.垃圾回收.内存池机制 ...

  9. Python中的高级变量类型

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

最新文章

  1. iOS下音视频通信-基于WebRTC
  2. Hibernate和MyBatis的缓存机制和比较
  3. 揭秘Windows Server 2008新功能
  4. redhat linux防火墙状态,Redhat下配置iptables防火墙
  5. 人声混音处理的基本步骤和常用插件
  6. AC97 与 HD audio的区别
  7. hadoop-hive安装
  8. 如何删除tmp计算机桌面,temp文件删不掉怎么办
  9. MIMO-OFDM学习笔记(传播与衰落)
  10. 《非常网管:网络管理从入门到精通(修订版)》——第1章 网络基础知识回顾1.1 计算机网络基础...
  11. OpenSSL自建CA和颁发SSL证书
  12. 【bzoj 4554】【Tjoi2016Heoi2016】【NOIP2016模拟7.12】游戏
  13. 攻防世界-Web-练习区12题解
  14. bzoj-1233 [Usaco2009Open]干草堆tower
  15. Android超方便 集成 Zxing实现扫一扫,闪光灯,生成二维码图片,解析二维码(条码)等功能
  16. 【M365运维】查看电脑硬盘加密状态是否同步到 Intune
  17. 绝对值不等式解绝对值二次函数的最值_Simplelife_新浪博客
  18. linux amd显卡双屏,显示器的合理利用 ati显卡双屏详细设置【图文】
  19. zabbix===》微信报警、聚合图形、自动发现自动注册、监控NFS、MySQL、web服务、URL地址
  20. 初中信息技术计算机软件系统,初中信息技术计算机系统组成(硬件).ppt

热门文章

  1. 粉尘传感器ZPH01驱动
  2. 缺省(默认)VLAN
  3. 新的百亿 IoT 市场:2022年起,新车强制安装EDR!
  4. kali driftnet
  5. Bubble Cup 14 - Finals Online Mirror (Unrated, ICPC Rules, Teams Preferred, Div. 2) E. Array Game
  6. 极客日报第 33 期:美团回应“大数据杀熟”;Docker开发者预览版支持M1芯片
  7. 用java实现combin函数_【算法-Java实现】组合总和
  8. Java实现模拟斗地主洗牌发牌
  9. 动荡下的科学投资 ”量加“掀起新一代炒股体验
  10. tf.nn.lrn() 局部响应归一化函数