目录标题
- 🔑事件起因
- 🔑技能总结
- 🔑第一种`print()`
- 🔑debug(重点)
- 🔑实操
- 特别介绍
- 资料领取处
🔑事件起因
事情是这样的前段时间参加的一个学校的项目,涉及到计算机图像处理卷积神经网络这块我也没有弄过这个就在网上找了一个模型,自己试着改了一下结果就在一个参数上没有调好被别人赚走了300元,都是我没有学好debug
工具,要不然可能就能省下这个钱给女朋友买个礼物了😣,所以我决定要好好总结一下这个debug
技能
🔑技能总结
🔑第一种print()
可能有些大神会搞不懂了,阿肥你这是搞笑吗?我是来看debug
的你给我弄一个print()
。其实我在一般短一点的代码里面还是挺喜欢用print()
来测试的比如下面这个例子
然后我们尝试打印a
的类型发现他是str
类型的于是我们就找到了错误所在解决bug
🔑debug(重点)
实操之前我们先来介绍一下debug
的一些常用功能键以从左向右的顺序介绍
1.show execution point (F10) 显示当前断点,作用就是不管你在哪个代码里面,当点击这个按钮,那么就会跳转到你当前debug的那行代码。
2.step over(F8) 单步调试。
若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行。也就是当点击这个按钮,那么就会跳转到你当前debug的那行代码的下一行代码
3.step into(F7) 单步调试。
若函数A内存在子函数a时,会进入子函数a内执行单步调试。也就是当点击这个按钮,那么就会跳转到你当前debug的方法里面去。
4.step into my code(Alt + Shift +F7) 执行下一行但忽略libraries(导入库的语句)当点击这个按钮,那么就会跳转到你进入方法的那行代码的下一行代码,简单说就是地毯式一步一步的走
5.force step into(Alt + Shift +F7) 执行下一行忽略lib和构造对象等
6.step out(Shift+F8)当目前执行在子函数a中时,选择该调试操作可以直接跳出子函数a,而不用继续执行子函数a中的剩余代码。并返回上一层函数。就是从一个函数里面跳出来
7.run to cursor(Alt +F9) 直接跳到下一个断点
8·evaluate expression这是一个工具就是在你debug的时候可以用来测试一些值比如你的程序里面出现了一个1+3你想看看是多少就可以用
其实这些只是知识基础,真的要向那位大师五分钟赚我三百块的话还是要熟练的运用起来才行。而且每个人在debug
的过程中肯定也有自己特殊的一套技能,这个就看你自己的情况了。
🔑实操
我们就上面介绍的功能,来进行演示
简单的一个小例子我们一步一步的尝试一下
- 点击第一个
- 点击第二个,没进
add
函数里面直接就下一行了
- 点击第三个,进到函数
subtract
里面
- 点击第四个,这里我忘了在设一个函数了,这个键的功能大概就是这个函数里面还有函数的话还可以接着进这个函数
- 点击第六个,直接从没有执行完的函数里面出来了
其他的我就不一 一演示了,大家可以动手。
另外在调试的时候我们的目的是要找到bug
可以多关注,这里面的参数变化来找到错误。
特别介绍
📣小白练手专栏,适合刚入手的新人欢迎订阅编程小白进阶
📣python有趣练手项目里面包括了像《机器人尬聊》《恶搞程序》这样的有趣文章,可以让你快乐学python练手项目专栏
📣另外想学JavaWeb进厂的同学可以看看这个专栏:传送们
📣这是个面试和考研的算法练习我们一起加油上岸之路