Python必备技能之debug调试教程详解
作者:轻松学Python 发布时间:2023-03-01 19:26:10
标签:Python,debug
哈喽兄弟们,今天来分享一下,Python初学者必须要学会的技能,Python进行debug操作。
本文用的测试代码:
from torchvision import transforms
from torchvision.datasets import FashionMNIST
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
#数据集准备
train_data = FashionMNIST(
root = "./data/FashionMNIST",
train = True,
transform = transforms.ToTensor(),
download = True #如果没下载数据,就下载数据;如果已经下载好,就换为False
)
test_data = FashionMNIST(
root = "./data/FashionMNIST",
train = False,
transform = transforms.ToTensor(),
download = True #如果没下载数据,就下载数据;如果已经下载好,就换为False
)
train_data_x=train_data.data
train_data_y=train_data.targets
test_data_x=test_data.data
test_data_y=test_data.targets
print(train_data_x.shape)
print(train_data_y.shape)
print(type(train_data_x))
print(type(train_data_y))
print(test_data_x.shape)
print(test_data_y.shape)
def function1(x):
for i in range(x):
print(i)
function1(7)
一、debug环境介绍
点击这个爬虫就可开始debug
在debug前我们需要设置断点:(设置几个都行)
进入debug后,左下角:
1)debugger里面可以看到存在的变量:
2)console里面可以我们一步步调试的过程,输出的结果会打印在里面:
二、debug按钮介绍
分别是
1)step over 快捷键:F8
2)step into 快捷键:F7
3)step into my code 快捷键: alt+shift+F7
4) step out 快捷键: shift+F8
2.1、step into:单步执行(遇到函数也是单步)
注意看蓝色的线变化(蓝色的线,代表即将被debug,但是还没有debug到)
刚我debug了两次,结果如下:
step into 遇到进了函数也是单步(以我们这里定义的循环打印函数为例):
2.2、step over:单步执行(遇到函数,全部运行)
这个相比step over 就是函数里执行的区别:(step over 是直接执行完)
2.3、step into my code:(直接跳到下一个断点)
这个很好理解了,这里我有三个断点,所以会debug三次,然后结束:
2.4、step out : 执行完剩下的函数,并跳到上一层函数
就是之前在函数内部单步调试时,用step out 能一下执行完,返回到上一层函数。
用了之后,整个函数直接执行完,但进程未结束
看蓝色的线,返回到了上一层函数
来源:https://blog.csdn.net/ooowwq/article/details/129585517
0
投稿
猜你喜欢
- 方案一:利用selenium+phantomjs * 面浏览器的形式访问网站,再获取cookie值:from selenium import
- 一、用HTTP头信息 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WE
- 前言数据驱动是一种思想,让数据和代码进行分离,比如爬虫时,我们需要分页爬取数据时,我们往往把页数 page 参数化,放在 for 循环 ra
- Google Chrome 的发布,使我们更加的注重基于 WebKit 核心的浏览器的表现情况,但我们很多时候“不小心”就会出现
- 一张损坏的表的症状通常是查询意外中断并且你能看到例如这些错误:◆ “tbl_name.frm”被锁定不能改变。◆ 不能找到文件“tbl_na
- 揭秘一个普通的输入框背后惊人的秘密。某月某日,某项目某页面,需要一个价格区间筛选功能,需求合理,所以设计做上去。这是一个无比普通的输入框。在
- 如何实现优惠打折? 代码及说明见下:<%@ LANG
- CSS3草案中定义了{opacity:来声明元素的透明度,这已经得到了大多数现代浏览器的支持,而IE则很早通过特定的私有属性filter来实
- 有一个查询如下: 代码如下:SELECT c.CustomerId, CompanyName FROM Customers c
- Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提
- SELECT表名=case when a.colorder=1 then d.name else '' end,表说明=ca
- 一个asp显示当前日期农历的代码函数,效果 今天是:农历丁亥年(猪)八月十三。调用方便!Function nl()'获取当前系统时间
- 前言python使用中多线程、多进程、多协程使用是比较常见的。那么如果在多线程等的使用,我们这个时候我们想从外部强制杀掉该线程请问如何操作?
- 1 查找记录条数 select count(*) from table_name(换成表名)&nbs
- 效果图展示:源码查看【功能说明】利用insertBefore制作简单的循环插空效果【HTML代码说明】<ul class="
- 使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:1.如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就
- 在使用Ajax过程中,有时候总会遇到一些难题,浏览器兼容、编码、IE下的特殊处理等等,偶尔会搞的人头昏脑胀哭笑不得,这里列一些小贴士,或许有
- 一:文字加粗 倾斜的代码文字加粗的代码是: <b>你好</b>文字倾斜的代码是: <i>你好!</
- 1.5 学习ASP.net 的过程中如何求助--加入 ASPNG 讨论列表 Charles Carroll 作为不断壮大的 ASP.NET
- 当前,utf8_unicode_ci校对规则仅部分支持Unicode校对规则算法。一些字符还是不能支持。并且,不能完全支持组合的记号。这主要