本教程是关于什么的

本教程旨在逐步引导您使用 PyCharm 的代码智能功能在 Python 项目中创建源代码。您将看到 PyCharm 如何通过适当的缩进、空格、导入等帮助您的源代码保持完美状态 - 实际上,您会看到 PyCharm 本身就是一个代码质量工具。

在你开始之前

确保:

  • 您正在使用 PyCharm 5.0 或更高版本。如果您还没有 PyCharm,请从此页面下载。要安装 PyCharm,请按照说明进行操作,具体取决于您的平台。
  • 您已经创建了一个 Python 项目(File|New Project...)。
  • 您已经创建了两个目录srctest_dir ( File|New或Alt+Insert)。
  • 您已将 Python 文件添加到项目的srctest_dir目录(File|New或Alt+Insert)。

突出代码样式违规

创建一个新的 Python 文件src/Solver.py Alt+Insert。创建的文件立即打开进行编辑。默认情况下,该文件没有内容——这是因为文件Solver.py是由一个文件模板创建的,该文件模板(在 Python 文件的情况下)不包含任何内容。

接下来,开始输入关键字class。当您刚开始输入时,PyCharm 会立即显示建议列表以完成您的代码:

1.png

红色曲线标记下一个预期的条目 - 在这种情况下,这是预期的标识符。输入班级名称Solver。红色曲线在类名之后移动。如果将鼠标指针悬停在此曲线上,您会看到错误描述(“预期冒号”)。另外,请注意右侧排水沟中的红色错误条纹 - 它也标记了相同的错误:

2.png

好的,输入冒号,然后按Enter。根据Python 代码风格,下一条语句是缩进的。如果碰巧在 之后按空格Enter,则会违反代码样式设置。

调整 PEP8 检查

但是,默认情况下,这些违规行为只是微弱的警告,因此是不可见的。所以,首先,让我们提高它们的重要性。单击应用常规设置主工具栏,在“设置/首选项”对话框的“检查”页面上,键入 PEP8 以查找所有与 PEP8 相关的检查,然后从“严重性”下拉列表中选择“警告” :

3.png

应用更改并关闭对话框。现在让我们回到我们的源代码。

跟踪 PEP8 规则

现在 PyCharm 展示了它最好的一面!它随时保护您的代码样式完整性。您立即注意到缩进的空格被突出显示,并且当您键入下一条语句时,例如,def demo(self,a,b,c):PyCharm 将显示来自 PEP8 检查的消息:

4.png

因此,如您所见,PyCharm 支持PEP8]作为官方 Python 样式指南。如果您浏览检查列表 ( Ctrl+Alt+S-Inspections ),您将看到 PyCharm 在您的代码上启动pep8.py工具,并查明代码样式违规。

代码检查及其设置

顺便说一句,更仔细地查看检查。如果您刚刚打开此页面,您会看到带有默认设置的默认检查配置文件:这意味着检查适用于当前项目的所有来源。

让我们尝试为两个不同的范围自定义此配置文件:

  • 测试范围内,拼写错误应标记为拼写错误(绿色)
  • 生产范围内,拼写错误应该被标记为错误(红色)——我们真的可以生成有错别字的代码吗?

这就是它的完成方式...

创建范围

首先,让我们定义两个范围。为此,请单击应用常规设置主工具栏上的 ,在Settings/Preferences对话框中展开节点Appearance and Behavior,打开页面Scopes。然后单击应用程序通用添加并选择范围类型Local。

在Add New Scope对话框中,键入范围名称 (Test),然后在项目树中,选择要包含在 Test 范围中的目录 test_dir。请注意,当您包含目录时,模式字段会自动填写:

5.png

重复此过程以创建生产范围。

使用这些范围创建检查配置文件

接下来,让我们创建默认配置文件的副本(尽管此配置文件是可编辑的......只是为了安全起见):

6.png

并给它一个新名称,例如 MyProjectProfile。此新配置文件是默认配置文件的副本,并具有相同的检查集。

选择这个新配置文件后,让我们找到拼写检查并进行更改。要查找拼写检查(我们之前已经做过),只需spel在搜索区域中输入。

下一步是什么?单击In All Scopes按钮并从列表中选择测试范围;对生产范围重复相同的操作

7.png

在“测试”范围内,检查严重性保持原样(错字);但是,范围“生产”我们将从严重性列表中选择“错误”:

8.png

注意检查的颜色代码。如果未更改,它们将显示为黑色。如果它们是蓝色的,则表示它们已被更改。

应用更改并关闭对话框...

因此,修改后的检查配置文件已准备就绪。它的名字是Project Default (copy),它在 Test 和 Production 范围内的 Spelling 检查有不同的设置。接下来,让我们根据这个配置文件检查代码。为此,请在主菜单上选择代码|检查代码,然后在对话框中选择所需的配置文件和范围:

9.png

做两次 - 用于测试和生产范围(如果您想保留检查结果以供进一步检查和共享,您可以将它们导出)。探索结果:

10.png

突出显示错误

除了编码风格违规外,PyCharm 还会突出显示其他错误,具体取决于所选配置文件。

例如,如果您的检查配置文件包含 Python 检查Unresolved references,并且您使用尚未导入的符号,PyCharm 会在未解决的引用下划线并建议添加 import 语句:

11.png

生成源代码

PyCharm 提供了许多自动生成代码的可能性。您可以在产品文档]中探索自动生成功能。让我们探索主要的代码生成过程。为此,只需删除文件Solver.py的所有内容,然后从头开始。

首先,创建一个类的实例:

12.png

接下来,按下Alt+Enter并选择意图操作Create class 'Solver':

13.png

伟大的!PyCharm 删除了一个类:

14.png

接下来,让我们为类实例添加一个方法。为此,请在类实例后键入一个点,然后键入方法名称。此方法尚不存在,PyCharm 建议创建一个:

15.png

让我们做一些手工工作——输入源代码。在计算判别式时,我们必须提取平方根。sqrt库中有一个专用函数math,但尚未导入。好的,不管怎样,让我们输入它,看看 PyCharm 是如何处理它的。按下Alt+Enter并选择Import 'math':

16.png

所以,我们来到了这样的源代码:

import math
class Solver(object):
            def demo(self,a,b,c):
                d = b ** 2 - 4 * a * c
                disc = math.sqrt(d)
                root1 = (- b + disc) / (2 * a)
                root2 = (- b - disc) / (2 * a)
                print (root1, root2)
                return root1, root2

但是,它缺乏一些重要的分析。我们想分析 radicand d。如果为零或正,则将计算判别式和方程根;当 radicand 为负数时,让我们提出一个异常。PyCharm 将如何帮助完成这项任务?

if让我们用构造包围一段代码。选择要完成的语句,whend为非负数,然后按Ctrl+Alt+T(或在主菜单上选择Code | Surround with ):

17.png

if从建议列表中选择选项。如您所见,PyCharm 自动添加if True:和缩进选定的行:

18.png

我们对布尔表达式根本不感兴趣,所以让我们将 selected 更改Trued >= 0。接下来,将插入符号放在最后一行的末尾,然后按Enter。插入符号位于下一行,缩进与if语句相同;键入else: clause here,并查看 PyCharm 报告有关预期缩进的信息:

19.png

当您Enter再次按下时,插入符号停留在缩进位置。在这里你可以输入异常表达式,使用 PyCharm 强大的自动代码完成功能:

20.png

重新格式化代码

让我们再看看我们的Solver.py文件。它的右侧排水沟显示黄色条纹。当您将鼠标指针悬停在条纹上时,PyCharm 会在代码中显示相应问题的描述:

21.png

好消息是它们只是警告,不会影响结果。坏消息是它们太多了,无法一一修复。是否可以不费吹灰之力地让源代码变得漂亮漂亮?

PyCharm 说 - 是的。这是代码重新格式化功能。因此,让我们尝试更改整个文件的格式。为此,请按Ctrl+Alt+L(或在主菜单上选择代码 | 重新格式化代码):

22.png

现在看看代码——与 PEP8 相关的缺点都消失了。

请注意,您可以自己定义格式规则。为此,请打开代码样式设置,选择语言(在本例中为 Python),然后进行必要的更改:

23.png

添加文档注释

好的,格式现在已修复,但仍有一些条纹。不可避免的黄色灯泡显示了添加文档字符串注释的可能性:

24.png

选择此建议并查看添加的某个参数的文档字符串注释:

25.png

请注意,您必须在编辑器设置的智能键 页面中选中复选框在文档注释字符串中插入类型占位符:

26.png

有多种文档字符串格式,文档注释以您在Python 集成工具页面中选择的格式创建。如果您愿意,可以将文档字符串格式更改为 Epytext 或纯文本。

类型提示

文档注释可用于定义参数、返回值或局部变量的预期类型。为什么我们需要这一切?例如,我们希望控制传递给demo()方法的参数类型。为此,让我们将相应的信息添加到文档注释中(顺便说一下,请注意文档注释中的代码完成!):

27.png

接下来,当您查看方法调用时,您会看到 PyCharm 的检查类型检查器突出显示了错误的参数:

28.png

标签: Pycharm注册码, Pycharm激活码, pycharm注册码2021, pycharm, pycharm教程, pycharm破解, pycharm破解插件, Pycharm基础教程, Pycharm高级教程, Pycharm核心教程, pycharm插件, pycharm破解教程, pycharm注册码失效, pycharm注册码永久, pycharm注册码2022, PyCharm入门教程, PyCharm注册码在线生成, PyCharm主题