python debug是什么意思_Python自动化全网最实用的Debug 调试技巧汇总大佬偷偷使用的神技...

一、思考❓❔

1.什么是debug?

找茬

找软件的茬

发现程序的缺陷

2.为什么需要debug?

谁都不敢保证,写的代码没有任何问题

高效查找软件异常

一位优秀的开发工程师

20%的时间写代码

80%的时间用来排错

“不会debug” == “不会代码” == “低工资”

3.debug工具需要具备哪些功能?

控制程序的执行

想停则停,想执行则执行

随心所欲

设置断点

在指定位置停止

查看当前命名空间(程序栈)中变量

二、Python中的Debug大法

案例代码如下所示:

创建deubg_skills_demo.py文件

import time

from DebugSkills.gifts import send_gift

def say_love(name, talk):

print(f"{name}: {talk}!")

print(show(3))

print(f"{send_gift()}, 能代表我的心!")

def show(num):

print(f"{'轰隆' * num}!")

print(f"{'⚡' * num}")

return "还敢再发誓吗?"

def long_long_ago(name, talk):

# breakpoint()

print("\nlong long ago...")

print("当初没被雷劈死的原因既然是爱错了那个她/他")

print(f"{name}: {talk}!")

print(show(4))

print(f"{send_gift()}, 能代表我的心!")

if __name__ == '__main__':

lover = input("请输入你爱的人: ")

love_talk = input("请输入爱的箴言: ")

# 方法一:

# import pdb

# pdb.set_trace()

# 方法二:

# breakpoint()

breakpoint()

say_love(lover, love_talk)

time.sleep(5)

lover = input("\n请输入你爱的人: ")

love_talk = input("请输入爱的箴言: ")

long_long_ago(lover, love_talk)

创建gifts.py文件

import random

gifts = ["99朵玫瑰", "钻戒", "马尔代夫三十日游",

"北京二环内的一套厕所", "玛莎拉蒂车钥匙",

"免费自行车司机"]

def send_gift():

"""

送礼物

:return:

"""

one_gift = random.choice(gifts)

return one_gift

1.pdb操作 (^_-)-☆

系统自带的debug工具(无需安装)

将以下代码放在需要调试的地方(类似于设置断点)

# 通用方法

import pdb; pdb.set_trace()

# Python3.6以上版本

breakpoint()

当程序执行到上述代码所在位置时,会自动开启一个console终端

"->"是接下来要执行的代码(当前还未执行)

可以在终端运行的命令

list或者l

显示当前运行的代码

默认列出11行代码

p 变量名 或者 p 需要运行的表达式

打印变量的值

step或者s

如果在函数调用处执行,则会进入函数体内部

next或者n

如果在函数调用处执行,则不会进入函数体内部

enter

重复执行上一次的命令

b(reak) [ ([filename:]lineno | function) [, condition] ]

设置断点

filename可选,如果不传,默认在当前文件设置断点

c或者continue

继续往下运行,在下一个断点处停下来

disable 断点编号

禁用断点

enable 断点编号

启用断点

cl或者clear 断点编号

清除断点

display或者undisplay 变量

监听或者不监听某个变量

如果变量值改变,会自动显示

h或者help

帮助信息

h 具体命令

具体命令的帮助文档

h pdb

pdb的完整文档

三、Pycharm debug操作

1.打开Python Prompt

会出现一个ipython的控制台

可在控制台查看当前命名空间中的变量

也可执行Python表达式

2.Step Over / F8

按调试工具栏中的

类似于pdb中的next

程序不会进入到函数体内部

3.Step Into / F7

按调试工具栏中的

类似于pdb中的step

程序会进入到函数(方法)体内部、系统源码、第三方模块源码中

4.Step Out / Shift+F8

从函数体内部跳出

5.Step Into My Code / ALT+Shift+F7

按调试工具栏中的

主要关注自己写的代码

从系统源码、第三方模块源码中跳到自己写的代码中

6.Evaluate Expression

在当前命名空间内计算表达式的值

7.Quick Evaluate Expression

快速计算表达式的值

8.Watching

类似于pdb中的display

可以监听某个变量或者表达式的值

四、总结

作为代码编写者,掌握代码的调试技巧是必备的

能提升工作效率,提高代码质量

Python中Debug调试工具和技巧非常多

最常用、最实用的知识点,本文均有覆盖

你可能感兴趣的:(python,debug是什么意思)