pdb_debug_调试赋值语句_先声明赋值_再使用
回忆上次内容
- 上次讲了
- 赋值
assignment
- 亲手 将
值
指派到变量
中
- 赋值语句 能
运行起来
吗?🤔
从变量开始
- 变量需要
- 声明 declaration
- 赋值 assignment
声明
declaration
- 把 变量名 介绍给大家
- 赋值
assignment
- 将
值
放到变量
中
- 来做个文件 跑起来试试??🤔
尝试调试
vi t.py
- 复制程序
s1 = "oeasy"
s2 = "o2z"
print(s1, s2)
- :w|!python3 %
- 程序 直接运行
- 没有问题
- 可以进行调试吗?
尝试调试
- 不用python3 直接运行
- 改用 pdb3
:w|!pdb3 %
- 进入程序内部
- 调试
- dedug
- 看看 声明并赋值 是怎么完成的
回忆pdb过程
- pdb的意思 是
- python 的 debug程序
- help
- 可以查看所有命令
- h p
- 查看p命令的使用方法
- p 可以输出表达式的值
观察
- 一上来就
- p s1
- 输出s1的值
- NameError
- 系统说 s1 没有被定义过
- 不认识
- 为什么?
观察位置
- 程序 刚开始 运行
- 好比 歌单里面三首歌
- 第1首
还没
播呢
- 第1句的活儿
还没
干呢 - 没有
声明
过 s1 - 当然 就 不认识s1
执行第一句
- next
- 把第1首歌 播完了
- 把 第1句话 执行完了
- 把 s1 声明并赋值 了
- 此刻 再输出s1
- 由于 s1 已经被
声明
过了
- 现在 不就认识了 吗?😄
- 那 现在 认识s2 吗?
- s2还不认识
- 为什么?
观察位置
- 刚执行了1句
- 只 声明赋值了 s1
- 第2句 还没有执行
- 第2句 的活儿 也
还没
干呢
- 第2句
声明赋值
s2
- 执行 第2句 之后
- s2 能看见了吗?
再试
- 第2句 执行 之后
- 对s2 声明并赋值 完成后
- 就能看见了
- 最后一句
- 输出完成
- 都执行完
- 就 返回
- return 了
总结
- 声明、赋值之
前
不
能使用变量
- 声明、赋值了之
后
才
能使用变量
- 顺序 必须 清清楚楚
- 那 声明的 变量
- 具体存在
哪儿
呢? 🤔