046_pdb_debug_调试赋值语句_先声明赋值_再使用

简介: 本文介绍了Python中变量的声明与赋值过程,通过pdb调试工具演示了如何逐步执行代码,观察变量声明和赋值的时机。强调了变量必须先声明赋值后才能使用的原则,并展示了调试过程中的一些常见命令和技巧。最后提到变量的具体存储位置将在后续课程中讲解。

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 了

总结

  • 声明、赋值之
  • 能使用变量
  • 声明、赋值了之
  • 能使用变量

  • 顺序 必须 清清楚楚
  • 那 声明的 变量
  • 具体存在哪儿呢? 🤔
相关文章
|
程序员 C语言
C语言中的转义字符表
C语言中的转义字符表
834 0
|
前端开发
Window对象提示框、确认框、输入框、弹窗详解
本文目录 1. 背景 2. alert提示框 3. confirm确认框 4. prompt输入框 5. showModalDialog弹窗 6. 小结
1753 0
Window对象提示框、确认框、输入框、弹窗详解
|
机器学习/深度学习 并行计算 API
Qwen2.5-1M: 支持100万Tokens上下文的开源Qwen模型
两个月前,Qwen团队升级了 Qwen2.5-Turbo,使其支持最多一百万个Tokens的上下文长度。今天,Qwen正式推出开源的 Qwen2.5-1M 模型及其对应的推理框架支持。
2419 28
|
安全 数据安全/隐私保护 开发者
Python实现简单的邮件发送系统
Python实现简单的邮件发送系统
250 3
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
1509 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
缓存 人工智能 PyTorch
LMDeploy 部署 VLMs 的方法与探讨
LMDeploy 部署 VLMs 的方法与探讨 LMDeploy 是一个高效且友好的大型语言模型(LLMs)和视觉-语言模型(VLMs)部署工具箱,由上海人工智能实验室模型压缩和部署团队开发,涵盖了模型量化、离线推理和在线服务等功能。
LMDeploy 部署 VLMs 的方法与探讨
|
存储 监控 API
1688商品评论数据接口实战指南:挖掘电商洞察
要获取1688商品评论数据,先注册1688开放平台并登录,然后用Python等工具调用API获取评论信息,如内容、评分等,并存储或分析这些数据。使用时须遵守平台规定,保障数据安全及隐私,利用接口进行舆情监控、提升品牌形象,并留意接口更新以优化业务流程。
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
494 0
|
存储 机器学习/深度学习 PyTorch
【从零开始学习深度学习】19. Pytorch中如何存储与读取模型:torch.save、torch.load与state_dict对象
【从零开始学习深度学习】19. Pytorch中如何存储与读取模型:torch.save、torch.load与state_dict对象