show | version | enable_checker |
---|---|---|
step |
1.0 |
true |
- 上次讲了
- 什么是
变量
- 什么是
- 变量变量
- 能
变
的量 - 就是变量
- 能
- 各种系统、游戏
- 就是由
变量
所组成的
- 就是由
-
声明就是 declaration
- 把标识符 和 具体值 关联起来
- 标识符 就是 变量的名字
- 具体值 就是 赋给变量的值
-
赋值 就是
- 就是 assignment
- 可以给变量 具体的值
- 就是 assignment
-
可以调试一下赋值语句了吗?🤔
- 变量需要
- 声明 declaration
- 赋值 assignment
- 声明 declaration
- 把标识符 和 类型 联系起来
- 标识符 是 变量的名字
- 赋值 assignment
- 就是 把具体的值 赋给变量
- 声明赋值语句 可以调试 吗?🤔
str1 = "oeasy"
str2 = "o2z"
- :w|!pdb3 %
- 保存当前文件
- 并用pdb3进行调试
- 在这里 需要进入t.py 调试
- 看看在这两行代码执行过程中
- str1和str2的值究竟是多少
- pdb的意思 是
- python 的 debug程序
- help
- 可以查看所有命令
- h p
- 查看p命令的使用方法
- 第1行执行之前(红色)
- str1和str2 都不存在
- 第2行执行之前(绿色)
- str1为存在,b不存在
- 第2行执行之后(蓝色)
- str1、str2 都存在
- 结论
- 声明、赋值之前
- 不能使用变量
- 声明、赋值了之后
- 才能使用变量
- 声明、赋值之前
- 可以看得 清清楚楚
- 那这个变量具体存在哪儿呢?
q #退出 pdb环境
- 输出地址
str1 = "oeasy"
str2 = "o2z"
print(id(str1))
print(id(str2))
- id函数
- 可以 得到
- 变量的 地址
- 什么地址?
- 程序被夹在到内存中
- 变量也在内存中存储
- id函数
- 是什么意思?
- id返回 对象obj的 标识符
- obj 确实在内存中 有了位置
- 这些数字究竟是什么含义?
- 但是 如果
- 我们 给变量 再赋个新值
- 那么 变量的 新物理地址
- 还是 最初 那个地址 吗?
- 变量 str1
- 数值变了
- 所指向的内存位置
- 也变了
- 为什么变了?
help(id)
- 返回对象的
- 唯一标识地址
- 要确保 唯一
- 原来那个地方存的是oeasy
- 现在要一个新地方
- 存o2z
- str1 和 str2 都为 'oeasy'
- id相同怎么理解?
- 存着'oeasy'这块地方
- 被两个 变量所指着
- str1
- str2
- 被两个 变量所指着
- 可以用str1的值
- 对str2赋值吗?
- 这次我们 了解了 id 函数
- id可以得到 变量
- 在内存中的 物理位置
- id可以得到 变量
- 可以用变量对变量进行赋值吗?🤔
- 我们下次再说!👋