Python代码运行辅助
最后修改时间:2023 年 9 月 7 日先决条件
您已经创建了一个 Python 项目并使用以下代码填充它:
import math def demo(a, b, c): d = b ** 2 - 4 * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots" class Solver: pass if __name__ == '__main__': solver = Solver() a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = demo(a, b, c) print(result)
您已经配置了Python 解释器。请注意,对于当前项目,您的 Python 解释器版本应为 3.0 或更高版本。
第一次运行
打开类Solver.py进行编辑,然后右键单击编辑器背景。然后从上下文菜单中选择运行“求解器” :F4
脚本运行。输入 a、b 和 c 的值以查看“运行”工具窗口中的输出:
让我们详细探讨一下我们所做的和所看到的。
运行/调试配置 - 它是什么?
您希望在 IntelliJ IDEA 中运行或调试的每个脚本或测试都需要一个特殊的配置文件,用于指定脚本名称、工作目录以及运行或调试所需的其他重要数据。IntelliJ IDEA 附带了许多此类预定义配置文件或运行/调试配置,它们提供模式,您可以根据这些模式创建任意数量的自己的运行/调试配置。
每次单击“运行”或“调试”按钮(或从上下文菜单中选择“运行”或“调试”命令)时,实际上都是在运行或调试模式下启动当前的运行/调试配置。
如果您查看第一张图片,您会注意到组合框中根本没有运行/调试配置;在第二张图像上出现,用绿色圆圈标记。这意味着当您从上下文菜单中选择运行“求解器”时,IntelliJ IDEA 已自动创建求解器运行/调试配置。现在,由于此运行/调试配置标有绿色圆圈,因此它是最新的。
查看第二张图片上的主工具栏:当前运行/调试配置在组合框中可见。在其右侧,您可以看到按钮, , , , ; 组合框中的运行/调试配置是 Solver。
您还可以看到它的图标显示为半透明。这是什么意思?这意味着 Solver 运行/调试配置是临时的- IntelliJ IDEA 已自动创建它。
好的,现在单击向下箭头以显示可用命令,并在分隔线下方显示现有运行/调试配置的列表:
如果您有更多的运行/调试配置,现有的列表将变得更广泛。如果您单击此列表中的运行/调试配置之一,它将成为当前配置。
保存运行/调试配置
选择此命令可保存临时运行/调试配置“求解器” - 现在此配置将成为永久配置。因此,它会获得正常的图标。
编辑运行/调试配置
该命令位于列表中的第一个命令。选择“编辑配置”,然后看到“运行/调试配置”对话框打开:
在这里您可以看到求解器配置及其默认设置。
默认配置选项源自预定义的 Python 模板。单击编辑配置模板链接以预览和修改模式。
例如,您想要更改 Java 解释器以使用远程或其他本地解释器。好的,在 Java 页面中选择您选择的解释器 - 然后任何新创建的 Java 类型的运行/调试配置都将使用该解释器。
在Python节点下,您会看到唯一的运行/调试配置Solver。它属于 Java 类型,是根据 Python 模式创建的。它用正常不透明度的图标表示 - 对应于永久运行/调试配置(请记住,它成为永久的,因为您已保存它 - 但是,任何专门创建的运行/调试配置也会成为永久的)。例如,为同一求解器脚本创建一个新的 Python 类型运行/调试配置,并将其命名为“Solver1”。
如果您更改现有运行/调试配置之一中的任何内容,则只有该特定运行/调试配置会受到影响。
从文本文件重定向标准输入
您可以使用“运行/调试配置”对话框自动提交文本文件中的输入值,而不是在“运行”工具窗口中键入它们。
使用以下 a、b 和 c 值创建in.txt文件:
1
11
1
要启用重定向,请选中“重定向输入来自”复选框并指定in.txt文件的路径。
保存运行/调试配置并运行它。在运行工具窗口中预览执行结果。
常规运行
您已经以最直接的方式之一执行了求解器脚本。现在让我们探索运行脚本的其他方法。
正如您已经了解到的,运行脚本实际上意味着启动当前的运行/调试配置。因此,要运行 Solver 脚本,请按照以下过程操作:
在主工具栏上,单击运行/调试配置组合框,并确保“求解器”运行/调试配置是当前配置。
执行以下操作之一:
单击运行/调试配置组合框旁边的运行按钮。
按。ShiftF10
转到“运行”| 跑步。
现在您可以在“运行”工具窗口中观察结果。
测试运行
我们不会在这里讨论为什么测试是必要的 - 让我们假设确实如此,并讨论 IntelliJ IDEA 如何提供帮助。
选择测试运行者
首先,选择测试运行程序。为此,请单击主工具栏上的 打开“设置”对话框,然后在“工具”节点下单击“Python 集成工具”页面。您可以在此处选择默认测试运行程序:
在本例中,这就是单元测试。应用更改并关闭对话框。
创建测试
要运行测试,您必须首先创建它。IntelliJ IDEA 建议一种巧妙的方法来存根测试:单击类名称,然后按,或转到“导航 | 导航”。测试。如果存在测试,则可以直接跳至该测试;如果没有,IntelliJ IDEA 将创建它:CtrlShift0T
单击建议的操作,IntelliJ IDEA 将显示以下对话框:
单击“确定”,然后看到编辑器中打开的测试类:
IntelliJ IDEA 为我们制作了一个测试类。然而,这只是一个存根,缺乏实际的测试功能。因此,我们将导入要测试的类,并添加测试方法。结果代码可能如下:
import unittest
from Solver import Solver
class MyTestCase(unittest.TestCase):
def test_negative_discr(self):
s = Solver()
self.assertRaises(Exception)
def test_something(self):
self.assertEqual(True, False)
if __name__ == '__main__':
unittest.main()
提示
如果您有项目目录结构,则需要在导入语句的自动完成中反映该结构(from Solver import Solver)。
运行测试
准备好测试代码后,右键单击测试类名称 -上下文菜单的Run节点显示Unittests run/debug configuration。
启动它并在“运行”工具窗口的“测试运行器”选项卡中观察结果:
调试运行
首先,我们为什么需要调试?假设您遇到了运行时错误。如何查出它的起源呢?这就是需要调试的地方。
借助 IntelliJ IDEA,您无需离开 IDE 即可调试应用程序。您事先需要做的唯一一件事就是在所需的位置放置断点。让我们详细探讨一下。
断点 - 它是什么?
断点是源代码中的一行,当到达该行时,IntelliJ IDEA 将暂停。IntelliJ IDEA 可以识别多种类型的断点,每种断点都用自己的图标表示。
这里我们将使用 Python 行断点。
设置断点
这绝对是该过程中最简单的部分。只需单击您想要探索的行上的装订线 - 断点就在那里:
请注意,每个断点在整行上都用红色条纹表示。该颜色对应于尚未到达的断点。稍后我们将看到断点处的线如何改变其颜色。
顺便说一下,删除断点同样简单 - 单击装订线。
将鼠标悬停在断点上。IntelliJ IDEA 显示一个工具提示,其中包含最基本的断点信息 - 行号和脚本地址。但是,如果要更改断点设置,则必须右键单击断点。尝试更改您自己的断点设置,并查看断点图标如何变化。
调试会话
所以,我们现在已经准备好进行调试了。开始吧。
首先,从运行/调试配置组合框中选择相同的求解器运行/调试配置,然后单击右侧的“调试”图标。
接下来发生什么?
IntelliJ IDEA 启动,然后在第一个断点处暂停执行。
断点处的线变成蓝色。这意味着IntelliJ IDEA已到达断点行,但尚未执行。
在编辑器中执行的行旁边,显示变量的值。
将出现“调试”工具窗口。该工具窗口显示与调试相关的所有重要信息,并允许管理调试过程。
有关详细信息,请参阅产品文档。
在“调试器”选项卡中工作
好的,我们在第一个断点处暂停了。下一步是什么?
按或单击。程序将恢复并在下一个断点处暂停。通过这种方式,您可以单步执行所有设置的断点,观察应用程序中使用的变量。更多信息请参考 文档的调试代码部分。F9
在“控制台”选项卡中工作
为什么我们需要它?例如,您想查看错误消息,或者执行一些与当前应用程序无关的计算......使用 IntelliJ IDEA 这不是问题。
单击“控制台”选项卡将其向前显示,然后在此选项卡的工具栏上单击按钮:
Java 提示符出现,并且控制台变为交互式。尝试在此交互式控制台中执行 Java 命令:
请注意,交互式控制台提供代码完成和历史记录(向上/向下箭头键)。CtrlSpace
您始终可以使用命令“工具”|“工具”来调用调试控制台。从主菜单打开调试命令行。
Python 控制台允许逐行执行 Python 命令和脚本,类似于使用Python Shell 的体验。
使用 Python 控制台
每次您在“工具”菜单上选择相应的命令时,控制台都会显示为工具窗口。您可以指定打开 Python 控制台的快捷方式:按,导航到Keymap ,指定主菜单 |的快捷方式。工具| Python 或调试控制台。CtrlAlt0S
在 IntelliJ IDEA 中使用 Python 控制台的主要原因是受益于主要 IDE 功能,例如代码完成、代码分析和快速修复。
您可以使用向上和向下箭头键浏览已执行命令的历史记录,并重复所需的命令。要预览在执行过程中计算的变量值,请单击并检查特殊变量列表。
该控制台可用于所有类型的 Python 解释器和虚拟环境(本地和远程)。
将变量预览为数组
当您的变量是 numpy 数组或数据帧时,您可以在单独的窗口中将它们预览为数组。要尝试它,请执行以下操作之一:
单击链接View as Array / View as DataFrame:
从变量的上下文菜单中,选择View as Array / View as DataFrame:
该变量将在SciView窗口的“数据”选项卡中打开。
从控制台中的编辑器运行源代码
在编辑器中打开文件,然后选择要执行的代码片段。
从选择的上下文菜单中,选择“在 Python 控制台中执行选择”:
笔记
如果不进行选择,该命令将更改为“在控制台中执行行”。从上下文菜单中选择此命令。插入符号处的行加载到 Python 控制台中并运行。
观察代码选择执行情况:
默认情况下,Python 控制台使用为项目定义的Python 解释器执行 Python 命令。但是,您可以指定替代的 Python 解释器。
运行 asyncio 协程
在编辑器中,选择包含 asyncio 协程定义的代码片段。
从上下文菜单中,选择“在 Python 控制台中执行选择”:
代码在Python控制台执行后,使用关键字运行协程
await
:
配置 Python 控制台设置
在“设置”对话框 ( ) 中,选择“构建”、“执行”、“部署”| 控制台| Python 控制台。CtrlAlt0S
从Python 解释器列表中选择任何可用的解释器。请注意,您不能在此处引入新的解释器。如果你想推出新的解释器,你需要先创建它。
如果需要,单击“配置解释器”链接以检查已安装软件包的列表并添加新软件包。
注意启动脚本区域中的代码。它包含打开 Python 控制台后将执行的脚本。使用它来预编码一些所需的 Python 命令。
当处理多个 Python 脚本时,您可能希望在单独的 Python 控制台中执行每个脚本。
运行多个 Python 控制台
单击以添加新的 Python 控制台。
默认情况下,每个控制台的名称为Python Console,并带有索引。要使控制台反映您正在运行的脚本,请右键单击控制台选项卡,选择重命名控制台,然后输入任何有意义的名称。
您在 Python 控制台中运行的所有命令都会一一执行。如果命令需要大量时间才能执行,您可能需要预览和管理执行队列。
请注意,一旦执行该命令,它就会从队列中消失。要预览所有以前执行的命令,请浏览控制台历史记录 ( )。
感谢您的反馈意见!