首页 > 编程语言 >聊聊如何为python程序 debug

聊聊如何为python程序 debug

时间:2023-12-07 21:46:48浏览次数:27  
标签:python assert print 聊聊 debug bug 调试

开始调试之前摆正心态

一、调理论的简单介绍

1、调试理论
“软件”的两层含义

·人类需求在信息世界的投影        理解错需求→bug

·计算过程的精确(数学)描述         实现错误→bug

2、调试困难的根本原因
因为bug的触发经历了漫长的过程
·需求→设计→代码(状态机)→Fault(bug)→Error(程序状态错) →Failure
我们只能观测到 failure(可观测的结果错) 我们可以检查状态正确性(但非常费时) 无法预知bug在哪里(每一行“看起来”都挺对的)

二、看懂报错信息

NameError之后的内容

三、'print‘

插入print了解错误

四、assert

例:assert num<20,"num超出范围"

五、pdb模块

设置断点

"version":"0.2.0”, "configurations":
"name":"python:当前文件”

"type":"python"

"request”:"launch"

"program":"3(file)"

"console":“integratedTerminal"

"justMycode":true

六、利用ai debug

拓展         ChatGPT GPT-4-Bito AI Code Assistant

标签:python,assert,print,聊聊,debug,bug,调试
From: https://www.cnblogs.com/believeadream/p/17884033.html

相关文章

  • python notebook
    python(11.20--12.7)配置python环境:下载:anaconda在清华大学开源软件镜像站中选择合适的镜像进行下载。anaconda的存在和作用:要使用anaconda不妨先了解anaconda是什么,做什么。首先要知道,anaconda的存在必然有其存在的社会条件,现如今的python拥有众多版本,他们可以满足使用者不......
  • 12.7-task-如何debug
    Debug调试理论圣经错误的两个方面,1是对项目的理解错误,2就是代码逻辑错误看懂报错信息理解报错英文,不理解百度嘻嘻也可以装插件,配置debug环境,更加简洁assertassert相当于一个断点,不会执行后面条件的步骤vs在vs中,点击运行与调试,选择python当前文件也可以设置断......
  • 聪明办法学python(5)
    聪明办法学python(5)debug调试方法print调试:将程序分段后添加print,锁定问题发生地assert调试:表达式是否成立ide调试:查看报错CV工程师:向人工智能求助常见报错缩进错误(IndentationError)切忌tab和空格混用语法错误(GrammarError)命令错误(CommandError)使用了未定义的函数......
  • Python NumPy 数组索引和切片
    1、普通索引普通索引是指使用单个整数或整数列表来索引数组中的元素。1)单个元素索引要访问NumPy数组的单个元素,可以使用单个整数索引。索引从0开始,表示数组的第一行第一个元素。2)多维元素索引2、高级索引高级索引允许使用布尔值或数组来索引数组中的元素。1)布尔索引布......
  • 如何Debug
    如何Debug调试理论开始调试之前摆正心态(编程哲♂学)机器永远是对的不管是crash了,WrongAnswer了,还是虚拟机神秘重启,都是自己背锅未测代码永远是错的你以为最不可能出bug的地方,往往bug就在那躺着“软件”的两层含义人类需求在信息世界得的投影理解错需求->bug计......
  • datawhale04:debugging
    debugging理念遵循计算机不会犯错的原则方法printassert可以在数据条件不满足表达式时输出AssertionError,强行停止用于检测数据范围ide添加断点进行调试:停在断点处继续:运行到下一个断点单步跳过:只执行当前行单步调试:进入函数内部进行调试重启:重新运行断点调......
  • python-文件操作
    一、文件的概念文件的操作一共分三个步骤打开文件读写文件读,将文件内容写入内存写,将内存内容写入文件关闭文件     操作文件的函数/方法 1、read方法---读取文件#1、打开文件----注意大小写file=open(文件路径,mode="",encoding=......
  • HTTPS 请求中的证书验证详解(Python版)
    在网络通信中,HTTPS是一种通过SSL/TLS加密的安全HTTP通信协议。证书在HTTPS中扮演着至关重要的角色,用于验证服务器身份并加密数据传输。本文将深入探讨Python中HTTPS请求中的证书相关内容,并提供详细的代码示例。1.证书的基本概念SSL/TLS证书是一种由证书颁发机构签发的......
  • ###聪明办法学python Task07:debug调试
    debug的调试1.调试理论的简单介绍在计算机中,我们将机器看作状态机,同时我们遵循计算机不会犯错的原则,因此,如果程序运行不对劲,好好想想是不是自己的问题2.看懂报错信息编译器的报错要看懂,看不懂用翻译调试方法1.print调试:将程序分段后添加print,锁定问题发生地2.assert调试:表......
  • “数组”类型(python中都可[]的一些数据类型)
    “数组”类型(python中都可[]的一些数据类型)list特点是可变的、能动态扩容,可存储Python中的一切对象,使用时不用指定存储的元素的类型。>>>arr=["one","two","three"]>>>arr[0]'one'#动态扩容>>>arr.append(4)>>>arr['one',......