[oeasy]python0026_调试程序_pdb3_帮助_help_求助_文档

本文涉及的产品
函数计算FC,每月15万CU 3个月
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 调试程序_debug_next_下一步_list_pdb3 🥋

调试程序_debug_next_下一步_list_pdb3  🥋

回忆上次内容

  • py程序是 按 顺序执行
  • 是一行行 挨排 执行
  • 程序员的kpi
  • 曾经 根据 代码数量
  • 现在kpi 也在 不断演化
  • 并不是 代码量 越多越好

  • 写的代码(Code) 越多
  • 可能 出现的bug 就越多
  • 要的是 可用的Code
  • 而不是 不可用的Bug
  • 那 什么是bug 呢?

bug

  • bug 就是 程序错误
  • 比如 NameError

  • 要 找到错误
  • 然后 修复错误
  • 这就是 调试
  • debug

尝试调试

  • 想要 在程序里 debug
  • 首先 得一个程序
  • 还用 上次的 guido.py
  • 如果 上次的 没了
  • 就复制 下面这个

print("1982------Guido in cwi")

print("1995------Guido in cnri")

print("2000------Guido in beopen")

print("2005------Guido in google")

print("2012------Guido in dropbox")

print("2020------Guido in microsoft")

  • 然后粘贴到
  • 网上系统的 剪贴板上

  • 保存 在线剪贴板

准备环境

  • 在shell中 键入
  • vi guido.py

  • :reg
  • 执行底行命令reg
  • 观察寄存器register的状态

  • 系统寄存器"*"+
  • 都存着 刚复制的 源代码

粘贴代码

  • 回车 继续
  • 从 底行命令模式
  • 回到 正常模式
  • 在vim正常模式下
  • 键入"+
  • 观察窗口底行
  • 出现"+字样
  • 使用的寄存器 是
  • 系统剪贴板 寄存器
  • "+

  • 然后 键入p
  • paste 粘贴

粘贴结果

  • 键入:wq
  • 保存并退出vim
  • 回到shell

运行程序

python3 guido.py

  • 原来 是一下子 运行到最后
  • 现在可以  逐行 调试运行 吗?

调试程序

  • 调试的意思是
  • 一行行地执行
  • 看有没有错误(bug)

pdb3 guido.py

  • 使用pdb3来进行调试
  • pdb的意思是python's debugger

  • bug 是 虫子
  • 在编程中 指的是错误
  • de 是 降低 减少
  • decrease
  • defame
  • decolor
  • decline
  • debug 是 祛除虫子
  • 在编程中 指的是
  • 减少错误
  • 需要 逐行进行调试
  • 为什么 要逐行调试呢?

逐步调试

  • 由于程序 不知道 哪里出的问题
  • 所以才 逐步来执行

  • 逐步调试运行的目的
  • 找到 bug所在的位置
  • 还原当时的犯罪现场
  • 也就是 debug
  • 我们这就去 debug

help

  • 进入 pdb3 guido.py
  • 不知道 怎么办
  • 就喊 救命🆘(help)

  • help 给了
  • 很多的 命令主题(topic)
  • 还说 可以help 一下具体 命令主题
  • 查看哪个命令主题呢?

具体帮助

  • 先查看
  • 关于 help命令的 帮助
  • 对着 help 喊救命🆘(help)

  • 没有参数 的 话
  • 显示 所有 命令的帮助
  • 1个参数  help
  • 显示 help 这个参数的帮助

缩略形式

  • h(elp) 的缩写是 h
  • elp 可以省略

  • 以上四句
  • 都可以查看
  • help 这个主题命令
  • 这并不难 h h
  • 感觉掌握帮助系统了
  • 还可以怎么玩呢?

总结

  • 进到调试环境 没有思路
  • 就喊救命help
  • 可以看到各种帮助

相关文章
|
4天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
4天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!
|
7天前
|
存储 JSON 监控
告别Print,使用IceCream进行高效的Python调试
本文将介绍**IceCream**库,这个专门用于调试的工具显著提升了调试效率,使整个过程更加系统化和规范化。
26 2
告别Print,使用IceCream进行高效的Python调试
|
6天前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
7天前
|
人工智能 Shell 开发工具
[oeasy]python0041_输出ASCII码表_英文字符编码_键盘字符_ISO_646
本文介绍了ASCII码表的生成与使用,包括英文字符、数字和符号的编码。通过Python代码遍历0到127的ASCII值,解决了找不到竖线符号的问题,并解释了ASCII码的固定映射关系及其重要性。文章还介绍了ASCII码的历史背景,以及它如何成为国际标准ISO 646。最后,通过安装`ascii`程序展示了完整的ASCII码表。
9 1
|
16天前
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
43 3
|
18天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
19 3
|
11天前
|
人工智能 开发工具 Python
[oeasy]python040_缩进几个字符好_输出所有键盘字符_循环遍历_indent
本文探讨了Python代码中的缩进问题。通过研究`range`函数和`for`循环,发现缩进对于代码块的执行至关重要。如果缩进不正确,程序会抛出`IndentationError`。文章还介绍了Python的PEP8规范,推荐使用4个空格进行缩进,并通过示例展示了如何使用Tab键实现标准缩进。最后,通过修改代码,输出了从0到122的字符及其对应的ASCII码值,但未能找到竖线符号(`|`)。文章在总结中提到,下次将继续探讨竖线符号的位置。
11 0
|
11天前
|
存储 机器学习/深度学习 搜索推荐
Python编程入门:从零开始构建你的第一个程序
【10月更文挑战第32天】本文旨在通过浅显易懂的方式引导编程新手进入Python的世界。我们将一起探索Python的基础语法,并通过实例学习如何构建一个简单的程序。文章将不直接展示代码,而是鼓励读者在阅读过程中自行尝试编写,以加深理解和记忆。无论你是编程初学者还是希望巩固基础知识的开发者,这篇文章都将是你的良师益友。让我们开始吧!
|
5月前
|
Python Windows
Python基础教程(第3版)中文版 第18章 程序打包 (笔记)
Python基础教程(第3版)中文版 第18章 程序打包 (笔记)