第 2 步:调试您的第一个 Python 应用程序

您所在的位置:网站首页 pycharm数据库在哪 第 2 步:调试您的第一个 Python 应用程序

第 2 步:调试您的第一个 Python 应用程序

2023-04-02 04:01| 来源: 网络整理| 查看: 265

找出问题的根源

还记得,在之前的教程中您已经创建并运行了Car脚本吗?让我们多玩一点,修改average_speed函数如下:

def average_speed(self): return self.odometer / self.time

让我们看看当我们启动脚本时会发生什么,并尝试找出我们的平均速度:

错误信息

糟糕... PyCharm 报告运行时错误:a ZeroDivisionError.

让我们更深入地研究一下我们的代码,找出问题所在。我们可以使用 PyCharm 调试器准确查看代码中发生的情况。要开始调试,您必须先设置一些断点。要创建断点,只需单击装订线

添加断点

接下来,单击该子句运行图标旁边的装订线中的图标,然后选择Debug 'Car'。main

调试命令

PyCharm 启动调试会话并显示调试工具窗口

调试工具窗口

单击简历图标按钮继续执行脚本,然后在控制台选项卡中输入S并按下Enter:

调试工具窗口:控制台选项卡

单击简历图标按钮以恢复脚本执行。例外在这里。另一个断点也出现了:默认情况下,PyCharm 会因代码中未捕获的任何异常而停止,并且会显示一个带有闪电的断点图标。

异常断点

调试器还会显示错误消息。所以我们发现了我们的问题。您还可以在调试器中看到该值self.time等于零:

self.time 等于零周边代码

为了避免再次遇到同样的问题,让我们添加一条if语句来检查时间是否为零。为此,请选择return self.odometer / self.time方法中的语句average_speed,然后按Ctrl+Alt+T(代码 | 环绕):

环绕代码

PyCharm 创建一个存根if构造,让您完成用正确内容填充它的任务。

用 if 语句包围的存根

编辑后,我们得到以下信息:

包围代码的结果

让我们仔细看看调试器如何显示您的代码在做什么。

详细调试

调试工具窗口显示框架、变量和监视的专用窗格,以及显示所有输入和输出信息的控制台。如果您希望控制台始终可见,您可以将其拖动到 PyCharm 窗口的边缘之一。

步进

如果您想逐行查看代码的作用,则无需在每一行都放置断点,您可以单步执行代码。

让我们看看单步执行我们的示例程序是什么样子的:单击简历图标按钮,转到控制台询问汽车的平均速度(输入“S”),我们可以看到我们按下了断点。

我们可以使用步进工具栏按钮来选择我们想在哪一行停止下一步。

步进工具栏

例如,单击Step Over按钮跨过图标并看到蓝色标记移动到下一行代码:

调试期间跨步

如果单击Step Into按钮走进图标,您将看到action = input("What should I do? [A]ccelerate, [B]rake, " "show [O]dometer, or show average [S]peed?").upper()调试器进入文件parse.py的行之后:

在调试期间进入

但是,如果您继续使用跨过图标,您会看到您的应用程序只是传递到下一个循环:

调试:传递到下一个循环

如果您想专注于自己的代码,请使用Step Into My Code按钮进入我的代码- 这样您就可以避免进入库类。

有关详细信息,请参见单步执行工具栏和单步执行程序部分。

观看

PyCharm 允许您观察任何变量。只需在Evaluate and Watch字段中输入您想观察的变量的名称- 就这样吧my_car.time。请注意,此处提供了代码完成功能。然后单击添加按钮该字段旁边的 。

观看完成

首先,您看到时间等于 nil - 这意味着该变量尚未定义:

观看错误

但是,当程序继续执行到定义变量的范围时,手表会得到以下视图:

监视变量获取值

有关详细信息,请参阅手表部分。

内联调试

您可能已经注意到 PyCharm 的另一个功能,它可以轻松查看您的代码在做什么:内联调试器。只要你按下任何断点,PyCharm 就会在编辑器中显示许多变量的值:

内联调试

默认情况下启用此内联调试功能。如果您没有看到内联调试值,请使用设置调试工具栏上的设置图标检查它是否已启用:

内联显示值概括

所以,你做到了!恭喜!让我们重复一下您在 PyCharm 的帮助下所做的事情:

找出问题的根源

设置断点

逐步完成您的程序

创建了一个手表

评估一个表达式

最后修改:2021 年 10 月 23 日 步骤 1. 创建并运行您的第一个 Python 项目 步骤 3. 测试您的第一个 Python 应用程序


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3