变量在内存内的什么位置_物理地址_id_内存地址_物理地址
回忆上次内容
-
顺序 必须 清清楚楚
-
那 声明的 这俩变量
-
具体存在哪儿呢? ????
-
id 就是
-
identity
-
唯一的身份标识号
-
身份证号
-
id函数怎么用呢?
id
q #退出 pdb环境
-
从pdb退回到vim
-
进入游乐场
-
结果
-
s1的id是一长串数字
-
数值 和 截图不一样 很正常
-
只要是 一串数字 就对了
-
什么是内存?????
内存
-
内存
-
随机存储器
-
Random Access Memory
-
RAM
-
py程序 运行在 内存中
-
其中变量 也存储在 内存中
-
每次运行的状态不同
-
分配的位置也不同
-
变量就存储在小房间中
-
内存地址 就是 小房间的门牌号码
-
回游乐场 去问问 python本人
-
id函数 是什么意思?????
-
对于
-
不断变化 的 对象
-
每个 对象 都有
-
唯一标记
-
idnetity
-
如果 两个变量s1、s2
-
存的都是 "oeasy" 呢?
相同对象
s1 = "oeasy" s2 = "oeasy" print(id(s1)) print(id(s2)) print(id(s1) == id(s2) )
-
s1、s2
-
存的内容相同
-
都是 "oeasy"
-
id 居然 也相同 ?!!! ????
-
id 不是 变量唯一身份证 吗?
-
两个 不同的变量 id相同
-
怎么理解?????
-
对象的id
-
唯一标识地址
-
确实 是要确保 唯一
-
unique
-
simultaneously
-
[?s?m?l?te?ni?sli]
-
同时地
-
到底什么是唯一的?
多次引用
-
存'oeasy' 的
-
这块内存地址
-
是唯一的
-
这块地址
-
被 两个变量 所引用
-
s1
-
s2
-
两个变量都引用 这个房间号
-
s2 {BANNED}最佳初 引用的是
-
存"oeasy"的地址
也变了
s1 = "oeasy" s2 = "oeasy" print(id(s1)) print(id(s2)) print(id(s1) == id(s2) ) s1 = "ooo" s2 = "o2z" print(id(s1)) print(id(s2)) print(id(s1) == id(s2) )
-
系统 发现
-
这块 存着 "oeasy"字符串 的地址、
-
没有对象 再引用
-
就垃圾回收了
-
其他语言
-
一般还需要 手动垃圾回收
-
python 直接就给 自动回收了
-
这次我们 了解了 id 函数
-
id函数 可以得到
-
变量对象 所引用的 唯一内存地址
-
现在都是
-
用 字面量(literal)
-
给变量 赋值
-
我们下次再说!????
-
蓝桥->
-
github->
-
gitee->