代码运行帮助
最后修改时间:2023年11月21日先决条件
您已经创建了一个 Python 项目并使用以下代码填充它:
import math def demo(a, b, c): d = b ** 2 - 4 * a * c 如果 d > 0:disc = math.sqrt(d) root1 = (-b +disc) / (2 * a ) root2 = (-b - disk) / (2 * a) return root1, root2 elif d == 0: 返回 -b / (2 * a) else: 返回“这个方程没有根” 类仿真器: 通过 if __name__ == '__main__':solver = Solver() a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = demo (a,b,c)打印(结果)
您已经配置了Python解释器。请注意,对于当前项目,您的Python解释器版本应为3.0或更高版本。
第一次跑步
类Solver.py进行编辑,然后右键单击背景编辑器。然后从上下文菜单中运行选择“坐标器”:F4
脚本运行。输入a、b和c的值以查看“运行”工具窗口中的输出:
让我们详细讨论我们所做的和所看到的。
运行/调试配置 - 它是什么?
您希望在许多 PyCharm 中运行或调试的每个脚本或测试都需要一个特殊的配置文件,用于指定脚本名称、工作目录以及运行或调试所需的其他重要数据。 PyCharm 附带了此类预定义配置文件或运行/调试配置,它们提供了模式,您可以根据这些模式创建任意数量的自己的运行/调试配置。
单击 “运行”或 “调试”(或从上面菜单中选择“运行”或“调试”)时,实际上都是在运行或调试模式下启动当前的运行/调试配置。
如果您查看第一张图片,您会注意到组合根本没有第二个运行/调试配置;在张图片上出现,用绿色表单标记。这意味着当您从上下文菜单中选择运行“屏幕器”此时,PyCharm 已自动创建绘图器运行/调试配置。现在,由于此运行/调试配置标有绿色,因此它是最新的。
查看图片上的“运行”小部件:您会看到启动器被选为当前的运行/调试配置。在其右侧,您可以看到 “运行”和 “调试”按钮。
您还可以看到它的图标显示为半透明。这是啥意思?这意味着 Solver 运行/调试配置是临时的- PyCharm 已自动创建它。
现在单击查看可用命令和现有运行/调试配置的列表:
如果您有更多的运行/调试配置,现有的列表将变得更广泛。如果您单击此列表中的一个运行/调试配置,将成为当前配置。
保存运行/调试配置
单击 “更多操作”可查看其他运行选项,包括运行覆盖率、配置文件、启动并发可视化会话。下面是当前配置的可用操作。
选择保存配置-现在此配置将成为永久性的并获得正常的图标。
编辑运行/调试配置
现在单击启动器附近并选择编辑配置。“运行/调试配置”对话框打开:
在这里你可以看到解算器及其配置默认设置。
默认配置选项是预定义的Python模板。单击编辑配置模板链接以预览和修改模式。
例如,您在这里更改默认的Python解释器。然后将在任何新创建的Python类型的运行/调试配置中预先选择。
让我们回到“运行/调试配置”对话框。
在左边的Python节点下,您可以看到最后的运行/调试配置它用正常已不透明度的图标表示 - 对应于永久运行/调试的配置(请记住,它成为永久的,因为您保存它 - 但是,任何专门创建的运行/调试配置也成为永久的)。
如果您更改现有运行/调试配置中的任何内容,则只有该特定运行/调试配置才会受到影响。
从文本文件重定向标准输入
您可以使用“运行/调试配置”对话框自动提交文本文件中的输入值,而不是在“运行”工具窗口中键入它们。
使用以下a、b和c值在项目根目录中创建in.txt文件:
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" 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)
单击“运行”小部件并选择“编辑配置”。如果您有多个运行配置,请选择左侧的求解器。
单击“脚本参数”字段中的 “插入宏” ,然后从可用宏列表中选择“ClipboadContent” 。
在此示例中,剪贴板包含值 76,该值显示在宏预览区域中。
单击“插入”以添加选定的宏。
运行求解器运行/调试配置。请注意,命令行现在包含“76”作为参数。
将任何数值复制到剪贴板并重新运行配置以评估宏。
准备好后,回滚对脚本所做的修改,因为我们在以下教程中不需要它们。
同样,您可以包含其他有用的宏:
$FilePath$
:为打开文件的文件路径$ModuleSdkPath$
: 为项目解释器路径$Prompt$
:用于运行配置时的字符串输入对话框
常规运行
您已经以最直接的方式之一执行了求解器脚本。现在让我们探索运行脚本的其他方法。
确保“求解器”运行/调试配置是“运行”小部件中的当前配置。
执行以下操作之一:
单击运行/调试配置组合框旁边的运行按钮。
按。ShiftF10
转到“运行”| 跑步。
现在您可以在“运行”工具窗口中观察结果。
测试运行
我们不会在这里讨论为什么测试是必要的 - 让我们假设确实如此,并讨论 PyCharm 如何提供帮助。
创建测试
要运行测试,您必须首先创建它。PyCharm 建议一种巧妙的方法来存根测试:单击类名称,然后按,或转到Navigate | 测试。如果存在测试,则可以直接跳至该测试;如果没有,PyCharm 将创建它:CtrlShift0T
单击建议的操作,PyCharm 将显示以下对话框:
单击“确定”,可以看到测试类在编辑器中打开:
PyCharm 为我们制作了一个测试类。然而,这只是一个存根,缺乏实际的测试功能。因此,我们将导入要测试的类,并添加测试方法。结果代码可能如下:
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()
提示
如果您有不同的项目结构,则需要在导入语句中反映这一点(fromsolver import Solver)。
运行测试
准备好测试代码后,右键单击测试类名称并选择“运行 Python 测试”。
启动它并在“运行”工具窗口的“测试运行器”选项卡中观察结果。要查看成功的测试和失败的测试,请单击工具栏上的 “显示通过” 。
调试运行
首先,我们为什么需要调试?假设您遇到了运行时错误。有时错误的原因很清楚。但在更复杂的情况下,您可能需要调查和检查程序在执行过程中的不同点的状态。这就是需要调试的地方。
使用 PyCharm,您可以在不离开 IDE 的情况下调试应用程序。您事先需要做的唯一一件事就是在所需的位置放置断点。让我们详细探讨一下。
断点 - 它是什么?
断点是源代码中的一行,当到达该行时,PyCharm 将暂停。PyCharm 可以识别多种类型的断点,每种断点都用自己的图标表示。
设置断点
这绝对是该过程中最简单的部分。只需单击您想要探索的行上的装订线 - 断点就在那里:
请注意,每个断点在整行上都用红色条纹表示。该颜色对应于尚未到达的断点。稍后我们将看到断点处的线如何改变其颜色。
顺便说一下,删除断点同样简单 - 单击装订线。
将鼠标悬停在断点上。PyCharm 显示一个工具提示,其中包含最基本的断点信息 - 行号和脚本地址。但是,如果要更改断点设置,则必须右键单击断点。尝试更改您自己的断点设置,并查看断点图标如何变化。
调试会话
所以,我们现在已经准备好进行调试了。开始吧。
首先,在“运行”小部件中选择绘图器运行/调试配置,然后单击。
接下来发生什么?
PyCharm 启动,然后在第一个断点处暂停执行。
断点处的线变成蓝色。这意味着PyCharm已经到达断点所在行,但尚未执行。
在编辑器中执行的旁边,显示变量的值。
将出现“调试”工具窗口。该工具窗口与调试相关的所有重要信息,并允许管理调试过程。
有关详细信息,请参见产品文档。
在“线程和变量”选项卡中工作
好了,我们在第一个断点处暂停了。下一步是什么?
单击或单击。程序将恢复并在下一个断点处暂停。通过这种方式,您可以单步执行所有设置的断点,观察应用程序中使用的变量。有关详细信息,请参阅调试。F9
在“控制台”选项卡中工作
为什么我们需要它?例如,您想查看错误消息,或执行一些与当前应用程序无关的计算……使用 PyCharm 这不是问题。
单击“控制台”选项卡将其显示向前。
尝试在这个交互式控制台中执行Python命令:
请注意,控制台提供代码完成和历史记录(向上/向下箭头键)。有关更多信息,请参阅使用调试控制台页面。CtrlSpace
您始终可以使用命令“工具”|“工具”来调用调试控制台。从主菜单打开调试命令行。
有关“调试”工具窗口的更多信息,请参阅“调试器”选项卡部分。
REPL - 在 Python 控制台中运行
最后,如果您习惯使用Python控制台,您也可以直接在PyCharm中执行此操作。要启动控制台,请从上下文菜单中选择“在Python控制台中运行文件”。
您可以在交互模式下处理脚本执行:
有关更多信息,请参阅Python 控制台。
感谢您的反馈意见!