代码运行辅助
前提
您已经创建了一个 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" if __name__ == '__main__': 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 的值以查看 运行工具窗口 中的输出:

让我们详细探讨我们已经完成的工作和我们所看到的内容。
运行/调试配置——这是什么?
每个您希望在 PyCharm 中运行或调试的脚本或测试,都需要一个特殊的配置文件来指定脚本名称、工作目录以及运行或调试所需的其他重要数据。 PyCharm 自带多个这样的预定义配置文件,或 run/debug 配置 ,它们作为模式,您可以基于这些模式创建任意数量的 run/debug 配置。
每次您点击 运行 或
调试 (或从上下文菜单中选择 运行 或 调试 ),您实际上是在运行或调试模式下启动当前的运行/调试配置。
如果您查看第一张图片,您会注意到在 combobox 中根本没有 run/debug 配置;在第二张图片中,它出现在绿色圆圈中标记。 这意味着 Solver 运行/调试配置已由 PyCharm 自动创建,您从上下文菜单中选择了
。 现在,由于此运行/调试配置标记为绿色圆圈,它是当前的。查看图像中的 运行小部件 :您看到 解算器 被选定为当前的运行/调试配置。 在右边,您可以看到 运行 和
调试 按钮。
您还会看到它的图标显示为半透明。 这是什么意思? 这意味着 Solver 运行/调试配置是 临时的 - PyCharm 已经自动创建了它。
现在点击 查看可用命令及现有的运行/调试配置列表:

如果您拥有更多的运行/调试配置,则现有的配置列表将变得更广泛。 如果您点击此列表中的某个 run/debug 配置,它将成为当前配置。
保存运行/调试配置
点击 更多操作 以查看其他运行选项,包括使用 Coverage 运行、Profile、 启动并发可视化会话。 下面是当前配置的可用操作。

选择 保存配置——现在此配置变得 永久并获得普通图标。
编辑运行/调试配置
现在点击 附近 解算器 并选择 编辑配置。 运行/调试配置对话框打开:

您可以在此处查看 解算器 配置及其默认设置。
默认配置选项来源于预定义的 Python 模板。 点击 编辑配置模板 链接,预览和修改模式。

例如,此处您可以更改默认的 Python 解释器。 然后它将在任何新创建的 Python 类型的运行/调试配置中预选中。
让我们回到 运行/调试配置 对话框。
在左侧的 Python 节点下,您可以看到唯一的运行/调试配置 解算器。 它用正常不透明度的图标表示——这对应于永久运行/调试配置(请记住,它变成永久是因为您已保存它——然而,任何特别创建的运行/调试配置也会变成永久的)。
如果您更改现有运行/调试配置之一,则仅此特定运行/调试配置会受到影响。
从文本文件重定向标准输入
您可以使用 运行/调试配置 对话框自动从文本文件中提交输入值,而不是在 运行 工具窗口中键入它们。
在项目根目录创建 in.txt 文件,并设置 a、b 和 c 的如下值:
1 11 1请点击运行小部件并选择 编辑配置。 如果您有多个运行配置,请在左侧选择 解算器。
点击 修改选项 并选择 重定向输入自。 相应字段会显示在对话框中。
请在其中指定 in.txt 文件的路径。
点击 运行 以保存配置并运行。

向运行脚本传递参数
运行 Python 脚本时,您可以将各种值作为命令行参数传递。 使用 参数 字段在 Python 运行/调试配置中添加参数或插入宏。
修改代码示例,使其可以在计算中使用命令行参数值代替“4”。
import math import sys def demo(a, b, c): n = float(sys.argv[1]) d = b ** 2 - n * 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" if __name__ == '__main__': a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = demo(a, b, c) print(result)请点击运行小部件并选择 编辑配置。 如果您有多个运行配置,请在左侧选择 解算器。
点击
插入宏 ,在 脚本形参 字段中,从可用宏列表中选择 ClipboadContent。
在此示例中,剪贴板包含值 76,并显示在 宏预览 区域中。
点击 插入 以添加所选宏。
运行 求解器 运行/调试配置。 请注意,命令行现在包含 "76" 作为参数。
将任意数值复制到剪贴板并重新运行配置以评估宏。
准备好后,回滚您对脚本所做的修改,因为我们在接下来的教程中不需要它们。
同样,您可以包含其他有用的宏:
$FilePath$
:用于打开文件的文件路径$ModuleSdkPath$
:用于项目解释器路径$Prompt$
:用于运行配置时的字符串输入对话框
常规运行
您已经以 最直接的方式之一执行了解算脚本。 现在让我们探讨运行脚本的其他方式。
确保 'solver' 运行/调试配置是运行小组件中的当前配置。
请执行以下操作之一:
点击运行按钮
,位于运行/调试配置组合框旁边。
按下 Shift+F10。
转到
。
现在您可以在 Run tool window中观察结果。
测试运行
我们在这里不讨论为什么测试是必要的——让我们假设它是必要的,并讨论 PyCharm 如何能帮助实现这一点。
创建测试
要运行测试,您必须先创建它。 PyCharm 建议一个智能的方式来模拟测试:点击类名,然后按 Ctrl+Shift+T ,或在主菜单中转到
。 如果测试存在,您可以直接跳转到它;如果不存在,PyCharm将创建它:
点击建议的操作,PyCharm 将显示以下对话框:

点击 OK,查看测试类在编辑器中打开:

PyCharm 为我们生成了一个测试类。 然而,这只是一个缺少实际测试功能的存根。 因此,我们将导入要测试的类,并添加一个测试方法。 生成的代码可能如下:
运行测试
准备好测试代码后,右键点击测试类名并选择 运行 Python 测试。

启动它并在运行工具窗口的 测试运行器选项卡中观察结果。 要查看成功的测试和失败的测试,请点击工具栏上的 显示已通过。

调试运行
首先,我们为什么需要调试? 假设,您遇到了运行时错误。 有时错误的原因是清楚的。 但是在更复杂的情况下,您可能需要在程序执行的不同点检查和查看其状态。 这是需要调试的地方。
使用 PyCharm,您可以在不离开 IDE 的情况下调试您的应用程序。 唯一需要您提前做的事情是将断点放在所需的位置。 我们来详细探讨一下。
断点——它是什么?
断点 是源代码中的一行,当达到该行时,PyCharm 将会暂停。 PyCharm 能分辨几种 类型的断点 ,每种断点都用其特有的图标表示。
设置断点
这绝对是过程最简单的部分。 只需点击您要查看的行上的标记栏,即可创建断点:

请注意,每个断点还用红色条纹标记整行。 此颜色对应尚未达到的断点。 稍后我们将看到断点处的行如何变色。
顺便说一下,移除断点同样简单——点击边栏即可。
悬停在断点上。 PyCharm 显示一个工具提示,其中包含最重要的断点信息——行号和脚本地址。 但是,如果您想更改断点设置,您必须右键点击断点。 尝试更改断点设置,查看断点图标如何变化。
调试会话
所以,现在我们准备调试了。 让我们开始。
首先,在运行小组件中选择 解算器 运行/调试配置,然后点击 。
接下来会发生什么?
PyCharm 启动,并在第一个断点处暂停执行。
断点处的行变为蓝色。 这意味着 PyCharm 已经到达断点所在的行,但尚未执行它。
在编辑器中已执行行的旁边会显示变量的值。
调试工具窗口 出现。 此工具窗口显示与调试相关的所有重要信息,并允许管理调试过程。

如需更多信息,请参阅 产品文档。
在线程和变量选项卡中工作
好,我们在第一个断点暂停了。 接下来呢?
按 F9 或点击 。 程序将会继续运行并在下一个断点处暂停。 通过这种方式,您可以逐步查看所有设置的断点,观察应用程序中使用的变量。 如需更多信息,请参阅 调试。
在控制台选项卡中工作
我们为什么需要它? 例如,您希望查看错误消息,或执行一些与当前应用程序无关的计算……使用 PyCharm 这不是问题。
点击 Console tab以将其置于前台。
请尝试在此交互式控制台中执行 Python 命令:

请注意,交互式控制台提供代码补全 Ctrl+Space 和历史记录功能(上/下箭头键)。 有关更多信息,请参阅页面 使用调试控制台。
您可以随时通过主菜单中的命令
调用调试控制台。有关 调试 工具窗口的更多信息,请参阅 调试器选项卡 部分。
REPL - 在 Python 控制台中运行
最后,如果您习惯于使用 Python 控制台 ,您也可以直接在 PyCharm 中这样做。 要启动控制台,请从上下文菜单中选择 运行 Python 控制台中的文件。
您可以以交互模式处理脚本执行:

有关更多信息,请参见 Python 控制台。