在本节中,您将了解Spyder更高级的功能,并探索大多数窗格。
探索如何利用Spyder的功能,而不仅仅是四个核心窗格。
使用“绘图”窗格查看、管理和保存地物
在“文件”窗格中浏览、交互和打开外部程序
使用大纲窗格在文件内和文件之间快速导航
使用“查找”窗格在整个项目中搜索文本或正则表达式
在联机帮助窗格中查找和浏览结构化文档
大家好!我是胡安妮塔,我将向您展示如何使用Spyder中除了四个主窗格之外的其他窗格。
让我们从Plots窗格开始,它在启动Spyder时默认打开。为了了解它是如何工作的,让我们打开一个文件,该文件将从Matplotlib的文档中生成两个绘图。您可以在绘图窗格中查看生成的绘图,并使用箭头在它们之间浏览,也可以在侧栏中单击它们。
如果打开窗格的“选项”菜单,您将看到默认情况下启用了“将绘图调整到”窗口。禁用它将允许您放大或缩小绘图。您还可以看到禁用内联打印已启用,这可以防止相同的图形也出现在IPython控制台中。请注意,每次运行代码时,都会在窗格中生成绘图的新副本,但您可以使用窗格工具栏中的X按钮删除任何不想保留的副本。此外,当您在控制台之间切换时,窗格会自动更新以显示每个控制台生成的绘图。
要在另一个文档中使用绘图,请单击“复制到剪贴板”按钮并将其粘贴到所需的任何位置,例如文字处理程序。此外,还可以通过单击“保存”图标将打印保存为PNG。
“文件”窗格(默认情况下也是打开的)允许您浏览计算机上目录的内容,在编辑器中打开它们,并执行各种其他文件操作。您可以在窗格的“选项”菜单中显示或隐藏文件的大小、类型和日期。更改窗格中查看的顶级文件夹时,显示在主工具栏右上角的Spyder工作目录将更新,该目录也将与当前活动控制台同步。双击文本文件将在编辑器中打开它,复制一个或多个文件将允许您将它们粘贴为自动格式化的绝对路径或相对路径。右键单击任何项目将提供一系列与之交互的附加选项。
也可以在系统默认外部应用程序中打开文件,或在“文件首选项”窗格的“文件关联”选项卡中设置自定义文件关联。例如,我们可以添加 .csv 扩展并将其与关联应用程序下的LibreOffice Calc关联。现在,每次单击具有此扩展名的文件时,它都会使用此程序从外部打开。
.csv
现在让我们来看看如何在文件中导航。首先,我们必须打开“视图”菜单中“窗格”下的窗格,因为它在默认情况下不可见。如您所见,它显示了当前定义的所有类、方法和函数,并允许您只需单击一下就可以在它们之间移动。对于这样一个非常大的文件,可以很容易地在类之间切换,而不是在4000多行代码中滚动。也可以通过使用箭头或大纲窗格工具栏中的按钮展开类来浏览类的方法。大纲会不断更新以突出显示代码中与光标位置相对应的函数、方法或类,因此您可以轻松地跟踪正在处理的对象。最后,通过转到“窗格选项”菜单并激活“显示所有文件”,可以轻松地在已打开的脚本和模块之间切换,这对于导航较大的项目尤为重要。
对于特别大的项目,“文件”窗格是另一个有用的工具。与大纲窗格类似,它可以在“视图”菜单的“窗格”下打开。这允许您查看和浏览工作目录、项目或其他自定义目录中任何文件中出现的所有文本或正则表达式。例如,我们在 mainwindow.py 文件中我们导入了`` is_dark_font_color``函数。如果我们想快速找到定义它的文件,我们可以在搜索栏中写入这个字符串。通过这个搜索,我们从3个不同的文件中得到7个匹配项。当我们单击这些匹配项时,文件将在编辑器中自动打开,就在这个字符串出现的地方。
mainwindow.py
最后,我们将学习如何使用联机帮助窗格浏览文档。打开后,再次在“视图”菜单的“窗格”下,您将看到一个模块的索引,其中包括Python标准库中的模块和Spyder环境中可能安装的任何第三方软件包。例如,我们可以找到Numpy、Pandas和Matplotlib的帮助,如果您下载了Spyder with Anaconda,这些都会被安装。您可以在窗格提供的内置web浏览器中浏览内容,然后单击其中的超链接以导航到不同的页面。您也可以在“获取”字段或窗格工具栏上方的空白处输入要记录文档的项目的名称,以直接加载其信息。如果不确定对象的名称,请使用搜索字段查看适用于任何关键字的结果列表。
现在您已经熟悉了Spyder的窗格和功能,您可以轻松地完成各种常见的编程任务。请继续关注我们的下一个视频,以进一步添加到您的科学工具箱,并一如既往,快乐的间谍!
学习如何使用代码分析提高程序的质量。
打开并使用代码分析来评估Python文件的质量和样式
在编辑器或计算机上的任何位置对文件运行分析
确定错误、警告或消息的含义以及如何修复它
关闭行、文件或全局消息
大家好!我是胡安妮塔,在这段视频中,我们将学习如何使用代码分析窗格提高代码质量。要显示它,我们可以在“视图”菜单的“窗格”下单击它的名称。
此窗格可检测代码中的样式问题、错误做法、潜在的错误和其他质量问题,而无需执行。有三种运行代码分析的方法:
要分析编辑器中打开的文件,我们可以按可配置的快捷键, F8 默认情况下,或从菜单栏中选择源-->运行代码分析。
我们还可以通过使用路径框旁边的文件按钮浏览来选择要分析的文件。这将自动启动分析。
第三种方法是在窗格工具栏的“路径输入”框中手动输入要签入的文件的路径,然后单击窗格中的“分析”按钮。
在代码质量分析的基础上,我们对代码的总体质量进行了34/10的分析。我们还可以展开或折叠窗格中的一个或所有部分,以便能够查看Pylint错误、警告和标识代码问题的消息。
例如,结果告诉我们第20行有一个警告。要在编辑器中直接转到此行,只需单击消息。在这里,代码分析表明有一个 bad-whitespace 问题。要理解这意味着什么,请打开Pylint文档。上 Pylint docs page ,单击Pylint功能并搜索消息代码。
bad-whitespace
我们可以看到文档上说我们在操作符周围使用了错误的空格数。
bad-whitespace [C0326]: %s space %s %s %s Used when a wrong number of spaces is used around an operator, bracket or block opener.
我们可以通过在这个变量赋值的操作符前后加一个空格来修正这个错误。如果我们再次运行分析,我们可以看到错误不再显示在这一行。
我们可以单击文件名字段中的下拉箭头来查看以前的分析列表。单击其中一个将显示结果。
有时,关闭某些消息是有用的。我们可以用三种不同的方法。
我们可能只想让一行的警告静音;例如,这个“未使用的”导入对于代码执行仍然是必需的。为此,键入 # pylint: disable=unused-import 作为行末的注释。再次运行分析将显示错误不再可见。
# pylint: disable=unused-import
如果要使整个文件中的消息静音,可以通过在文件开头写入disable命令来实现。例如,我们可以禁用 invalid-name 此文件中多次出现的警告。如果我们再次运行分析,所有这些警告都会消失。
invalid-name
最后,我们可以通过编辑 .pylintrc 用户文件夹中的配置文件。如果它不存在,我们可以通过打开终端来生成它,如果您使用Windows,可以打开Anaconda提示符,然后运行 pylint --generate-rc > .pylintrc 在我们的用户目录中。
.pylintrc
pylint --generate-rc > .pylintrc
现在,我们可以去 MESSAGE CONTROL 在这个文件中添加相应的Pylint消息名,例如 no-name-in-module . 如果我们再进行一次分析,我们会发现 no-name-in-module 警告不再出现。
MESSAGE CONTROL
no-name-in-module
我们可以看到,我们的档案分数提高到了7.63/10,比之前的4.34分有了很大的提高。
既然我们已经了解了如何提高代码的质量,那么您就可以使用Spyder编写更干净、更正确的程序了。请继续关注我们的下一个视频,一如既往,Spydering快乐!
了解如何使用探查器优化代码。
使用探查器查找程序中的瓶颈
在编辑器或计算机上的其他地方对文件运行分析
解释结果以评估函数和方法的性能
使用这些信息可以加快代码的运行时间
大家好!我是胡安妮塔,在这段视频中,我们将学习如何使用探查器优化代码。要显示它,请单击“视图”菜单中“窗格”下的名称。
探查器将确定文件中使用的每个函数和方法的运行时间和调用次数。有三种分析文件的方法:
我们可以使用探查器路径框右侧的“打开”按钮浏览文件,该按钮将自动对其运行分析。
我们还可以在窗格的路径框中手动输入路径,然后按Profile按钮对文件运行分析。
如果要为编辑器中当前打开的文件运行探查器,可以单击“运行-->配置文件…”。。。或使用可配置的快捷方式 F10 .
我们看到,窗格中的结果向我们显示了文件中不同的函数和方法,每个子函数都按层次结构列在调用它们的项下。列显示每个函数及其调用的所有内容所花费的总时间,而本地时间只包括在该特定函数中花费的时间。
例如,函数 values 在这个文件中调用一个函数 internal_values values总共花了482个us来运行,其中338个us用于在它内部执行内部的u值。因此,值的总时间为482 us,但其本地时间仅为144 us,其余时间都在内部 internal_values .
values
internal_values
“调用”列显示在该级别调用该函数的总次数。最后,如果加载了比较,则会显示这三个度量中每一个的Diff列中的数字,并指示两个度量之间的运行时变化。
通过双击探查器中的一个项,我们将被带到编辑器中调用它的文件和行。如果在某个打开的脚本中没有调用此函数,单击它将打开包含它的文件。我们可以单击文件名字段中的向下箭头按钮来调用以前分析过的文件的路径。
既然我们知道了如何解释分析的结果,那么让我们通过找到花费时间最长的函数并使其更快来优化代码。在这种情况下, to_datetime 跑步需要39秒。因为标准解析程序不能比Pandas更快的解析时间戳。
to_datetime
我们可以减少这个函数所花费的时间,并与之前的函数进行比较。为此,首先我们必须将数据保存为 .Result 在窗格中使用“保存”按钮的文件。现在我们要找出如何优化函数,让我们来搜索它。我们看到我们可以通过 manually specifying a datetime format . 所以,我们加上适当的论点, format="%Y-%m-%d %H:%M:%S.%f %z" ,调用函数。
.Result
format="%Y-%m-%d %H:%M:%S.%f %z"
现在,我们再次运行分析,以查看脚本的性能有何改进。如果我们想知道减少了多少时间,可以加载之前的结果并查看diff列。请注意,差异是绿色的,因为时间减少了三倍,只需13秒而不是39秒。我们的代码现在快了26秒!
既然您已经学会了如何分析代码的执行时间,那么就可以在Spyder的帮助下编写更高效的程序了。请继续关注我们的下一个视频,一如既往,Spydering快乐!