Home >Backend Development >Python Tutorial >What is the method of debugging in Python?
Test code used in this article:
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)
Click this crawler to start debugging
in Before debugging, we need to set breakpoints: (Several settings will do)
After entering debug, the lower left corner:
1) You can see the existing variables in the debugger:
2) In the console, you can see the step-by-step debugging process, and the output results will be printed in it:
#1) step over shortcut key: F8
2) step into shortcut key: F7
3) step into my code shortcut key: alt shift F7
4) step out shortcut key: shift F8
2.1. step into: single-step execution (when encountering a function, it is also a single step)
Pay attention to the change of the blue line (the blue line means that it is about to be debugged, but it is still No debugging)
#I just debugged twice and the results are as follows:step into When entering a function, it is also a single step (take the loop printing function we defined here as an example):
2.2. Step over: single-step execution (run all functions when encountering them)
Compared with step over, this is the difference between execution in the function: ( step over is executed directly)2.3, step into my code: (jump directly to the next breakpoint)
This is easy to understand. I have three breakpoints here, so I will debug three times and then end:#2.4. step out: Execute the remaining functions and jump to the previous function
is the single-click function inside the function. When debugging step by step, use step out to complete the execution at once and return to the previous layer function.
After using it, the entire function is executed directly, but the process is not ended
Look at the blue line, returning to the previous layer of function
The above is the detailed content of What is the method of debugging in Python?. For more information, please follow other related articles on the PHP Chinese website!