最好用的Python代码编辑器,在本文中,我们将列出9种最佳的 Python IDE 和代码编辑器,我们还将探索使每一个都独一无二的一些特性,Python 是一种多功能编程语言,用途广泛,从 Web 开发到科学计算。在为 Python 开发选择 IDE 或代码编辑器时,有很多选项可供选择,选择正确的选项会对您的工作流程产生重大影响。

什么是Python?

简而言之,Python 是一种高级编程语言,由Guido van Rossum于 1991 年创建,并在开源许可下发布,并免费提供给任何想要使用或修改该软件的人。

Python 以其易用性而著称,其语法允许程序员用比 C++ 或 Java 等语言更少的代码行来表达概念。它的一些突出特点包括:

  • 好有趣
  • 它是一种通用语言(这意味着它允许我们做任何事情,从构建网页到探索数据科学和人工智能),它也是一种多范式语言(过程性、面向对象和函数式)
  • 您可以在所有主要操作系统(Linux、Windows 和 macOS)甚至微控制器上使用它
  • 它有一个庞大的开发者社区,每天都在使用它
  • 它有一个庞大且质量非常高的标准库(这就是为什么它通常被称为“内置电池”语言的原因)
  • 它拥有一个由不同的库、工具和框架组成的强大生态系统,可帮助您在更短的时间内编写出更好的代码——被谷歌、Facebook 和 Netflix 等公司广泛用于构建大型应用程序

Python真的那么简单吗?

人们常说 Python 代码几乎像伪代码,因为它允许您用很少的代码行来表达非常复杂的算法,同时又非常可读。

例如,下面是经典快速排序算法在 Python 中的实现:

def quicksort(arr):
    # base case for recursion 
    if len(arr) <= 1: return 
    pivot = arr[len(arr) // 2] # choose a pivot element from the array 
    left = [x for x in arr if x < pivot] # create subarray with elements less than pivot 
    right = [x for x in arr if x > pivot] # create subarray with elements greater than pivot 

    # concatenate the arrays and sort recursively 
    return quicksort(left) + [pivot] + quicksort(right)

什么是 IDE 和代码编辑器?

IDE(集成开发环境)和代码编辑器是开发人员最常用的两种工具。

IDE是为软件开发提供工具的软件应用程序。代码编辑器是一种文本编辑器,具有专为编程设计的附加功能。它们都提供语法高亮和代码完成功能,并有插件来添加功能。一些现代代码编辑器甚至具有与 IDE 非常相似的功能,例如调试和重构。

一些开发人员更喜欢 IDE,因为它们提供了更完整的开发体验。其他人更喜欢代码编辑器,因为它们具有轻量级的特性。下表比较了它们的各种特性。

集成开发环境 代码编辑器
提供更完整的开发体验,内置项目管理、调试和版本控制工具。 不像 IDE 那样提供那么多的功能,但通常有可以添加功能的插件。
可能很慢并且占用大量资源。 重量轻,速度快。
通常有一个陡峭的学习曲线。 与大多数 IDE 相比,学习曲线更浅。

 

如您所见,两者各有优缺点,所以最终还是要看个人喜好。

9 个最佳 Python IDE 和代码编辑器

为什么有这么多 IDE 和代码编辑器选项?这是一个合理的问题。答案是 Python 是一种多功能的脚本语言,这意味着它不仅可以用于构建 Web 应用程序。它也非常适合创建系统脚本和自动执行任务,因此您会发现一些 IDE 和代码编辑器是专门为特定用例设计的。

以下是一些需要考虑的因素:

  • 你从哪个平台切换到另一个?如果是这样,您将需要多操作系统支持。
  • 您喜欢简单的工具吗?您可能更喜欢极简主义的选择。
  • 您愿意使用万能工具吗?您可能需要额外的功能,以防万一。
  • 您是否非常关注代码测试和质量?
  • 你是数据科学专业的吗?
  • 编写 Python 代码,还是也使用其他语言?
  • 您是否非常在意尖端功能?如果没有,您可能只需要一个可以完成任务的工具。

带着这些问题,让我们来看看当今可用的一些最佳 Python IDE 和代码编辑器,并找到一些答案。

Atom

 

原子标志
Atom是一个“21 世纪的可破解文本编辑器”,事实证明它是一个非常有创意的编辑器,它与 GitHub 的集成非常出色(好吧,Atom由 GitHub 开发的),我们之前写过Atom Add-ons for Running Code和预览更改。

甚至Electron——构建 Atom 的框架——也通过允许使用 Web 技术构建桌面应用程序带来了相当多的创新。(稍后会详细介绍。)

由于微软收购了 GitHub,因此决定专注于进一步开发 Atom 的竞争对手 Visual Studio Code (VS Code)。这可能是一个不错的决定,因为 VS Code 已经成长为一个更好的选择。

VS CODE

 

VS 代码徽标
VS Code是“免费、基于开源构建且随处运行”的编辑器,在 2023 年以相当大的优势成为代码编辑的标准。还记得 GitHubAtom 开发的 Electron 框架吗?具有讽刺意味的是,VS Code 也是在它之上开发的!

VS Code 界面截图

VS Code 风靡开发社区有一个很好的理由:它太棒了!它的一些功能包括:

对于微软在支持开发人员方面犯下的所有错误(不要让我开始),该公司这次通过 VS Code 成功地扭转了局面。它对Python 的支持是一流的!

Python 代码的 IntelliSense 和自动完成

Python 代码的 IntelliSense 和自动完成功能。

提示:查看VS Code 的 IntelliCode 扩展(预览版)。IntelliCode 为 Python 中的 IntelliSense 提供了一组 AI 辅助功能,例如根据当前代码上下文推断最相关的自动完成:

以上所有功能都是内置的或由官方扩展支持的。

在 Notebook Editor 的 VS code 中运行的 Jupyter notebook

Jupyter 笔记本在笔记本编辑器中的 VS 代码中运行。

所以是的,VS Code 将满足你所有的基本 Python 编码需求(以及更多)。

额外:Visual Studio(IDE)

 

视觉工作室徽标
Visual Studio是 Microsoft 提供的功能完备的 IDE,它既可以通过订阅购买,也可以免费使用

.NET 和 C++ 开发人员通常使用 Visual Studio 来编写游戏程序(当然还有其他东西),但无论如何它不会为您的 Python 工作流增加太多价值,所以不要着急。

Vim

 

Vim 标志
Vim,“无处不在的文本编辑器”,是一个高度可配置的文本编辑器,旨在非常高效地创建和更改任何类型的文本。它作为“vi”包含在大多数 UNIX 系统和 macOS 中。Vim 坚如磐石,并且不断发展以变得更好。

Vim 控制台

Vim 控制台

其特点包括:

  • 它是持久的
  • 它有一个多级撤消树
  • 它有一个广泛的插件系统
  • 它支持数百种编程语言和文件格式
  • 它具有强大的搜索和替换(使用正则表达式)
  • 它提供集成的差异/合并工具

Vim 不仅仅是一个 IDE。它更像是一种生活方式!但即使您不采用“Vim 生活方式”,当您需要通过控制台远程快速编辑某些内容时,它仍然可以节省您的培根。此外,您可以从命令行在 Vim 中执行所有操作,或者您可以在浏览器中使用FirefoxChrome来使用它。

但是,如果您正在寻找特定于 Python 的功能,可以使用一些很棒的插件,它们将为您提供所需的全部功能:

  • YouCompleteMe:Vim 的代码完成引擎,除其他外,它提供对 Python 的扩展支持
  • UltiSnips:Vim 的代码片段解决方案,与 YouCompleteMe 结合使用效果很好。

PyCharm

 

PyCharm 徽标
对于PyCharm,“专业开发人员的 Python IDE”,我们正在谈论一个合适的图形化 IDE,我们终于在谈论 Python,它具有以下优势:

  • 智能代码完成
  • 即时错误检查和快速修复
  • 简单的项目导航

PyCharm 界面

PyCharm 界面。图片来源

PyCharm 是一个跨平台的 IDE,适用于 Windows、Linux 或 macOS。它还提供专业(付费)和社区(免费)版本。专业版为 Python 开发提供了一个集成工具集,包括对 Django 的支持。

更详细(引自JetBrains 网站):

  • 智能 Python 帮助:PyCharm 提供智能代码完成、代码检查、即时错误突出显示和快速修复,以及自动代码重构和丰富的导航功能。
  • Web 开发框架:PyCharm 为 Django、Flask、Google App Engine、Pyramid 和 web2py 等现代 Web 开发框架提供了强大的特定于框架的支持。
  • 科学工具:PyCharm 与 IPython Notebook 集成,具有交互式 Python 控制台,支持 Anaconda 以及多个科学包,包括 matplotlib 和 NumPy。
  • 跨技术开发:除了Python,PyCharm还支持JavaScript、CoffeeScript、TypeScript、Cython、SQL、HTML/CSS、模板语言、AngularJS、Node.js等。
  • 远程开发功能:使用远程解释器、集成的 ssh 终端以及 Docker 和 Vagrant 集成,在远程主机或虚拟机上运行、调试、测试和部署应用程序。
  • 内置开发人员工具:开箱即用的大量工具:集成的调试器和测试运行器;Python 分析器;内置终端;以及与主要 VCS 和内置数据库工具的集成。

所以是的,这是严重级别的 Python 本机支持。但是,您应该注意,社区版不包括其中的许多特权——例如 VCS 支持、科学工具、Web 开发、Python Web 框架,甚至不包括 Python 分析器、远程开发功能或数据库和 SQL 支持。

Spyder

 

蜘蛛标志
Spyder,“科学的 Python 开发环境”,是一个跨平台的 IDE,可以在 Windows、Linux 或 macOS 上运行。它也是开源的,可以根据麻省理工学院的许可免费使用。

Spyder 界面截图

Spyder 界面的屏幕截图。图片来源

Spyder 在很多方面与 PyCharm 非常相似。它们都是支持插件的 Python 原生 IDE。但是 Spyder 是专门为数据科学而设计的:

  • IPython 控制台,在一个 GUI 中利用尽可能多的 IPython 控制台的力量
  • Variable explorer,动态地与变量交互和修改变量
  • 绘图,浏览、缩放、复制和保存您创建的图形和图像
  • 调试器,以交互方式跟踪代码执行的每个步骤
  • Help,即时查看任何对象的文档,并呈现您自己的文档

由于 Spyder 在后台使用 IPython 控制台,因此您始终可以打开一个spyder控制台并使用它来代替Jupyter notebooks

Sublime Text

 

Sublime Text 徽标
Sublime Text是一个用于代码、标记和散文的复杂文本编辑器。它还是跨平台的(Windows、macOS 或 Linux),并作为付费产品提供(99 美元)。

但是,Sublime Text 可以免费下载和评估。虽然“必须购买许可证才能继续使用”,但实际上目前没有强制执行评估的时间限制(弹出窗口和定期提醒除外)。

Sublime Text 界面

Sublime Text 界面。

我必须说,直到几年前,Sublime Text 还提供了一些高级体验,因为它设计精美的界面和低资源消耗(背后显然有高质量的产品管理和软件工程)。但是男孩在过去的五年中对 VS Code 失去了动力。

Sublime Text 与 Visual Studio Code 图表

Sublime Text 与 Visual Studio Code

无论如何,就其价值而言,Sublime Text 确实更新了对最新 Python 版本的支持:

Sublime Text API 已更新至 Python 3.8,同时保持与为 Sublime Text 3 构建的包的向后兼容性。该 API 已得到显着扩展,添加了允许 LSP 等插件比以往更好地工作的功能。

扩展:Sublime Merge

说到精心设计的 UI 和 IX,你听说过Sublime Merge吗?

它提供了非凡的 Git 体验,远远优于 VS Code。引用 Siblime Merge 主页,它提供以下功能:

  • 一种更快的工作方式:Sublime Merge 具有灵活的跨平台 GUI 工具包、无与伦比的语法突出显示引擎和定制的高性能 Git 阅读库,为性能树立了标杆。
  • 精确和灵活:通过逐行和大块分期准确地提交您想要的内容。选择一行或多行将大块拆分为多个更改。
  • Sublime 高亮:借助 Sublime Text 语法高亮的强大功能,您可以准确了解提交中更改的内容。开箱即用的 40 多种受支持语言,以及自动加载已安装的第三方语法,我们都能满足您的需求。
  • 真正的 Git:当你使用 Sublime Merge 时,你就是在使用 Git。查看您正在使用的确切 Git 命令,并在命令行和 Sublime Merge 之间无缝转换。
  • 强大的搜索:寻找提交?使用“按类型查找”搜索来查找您要查找的确切提交。
  • 你的 Git 客户端:通过适应性强的布局和强大的主题系统让它成为你的。

PyDev

 

PyDev 徽标
PyDev是“用于 Eclipse 的 Python IDE,可用于 Python、JythonIronPython开发”。由于它在Eclipse IDE之上运行,因此它也确实需要 Java。

PyDev 接口

PyDev 界面。图片来源

PyDev 添加了大量通用功能,以及许多 Python 特定的功能:

如您所见,PyDev 非常受关注,因此如果您是 QA 专家,您可能会喜欢上 PyDev。

Visual Studio Code 上的 PyDev

尽管 PyDev 通常与 Eclipse 一起使用,但现在也可以在 VS Code 上利用 PyDev 的功能

虽然要添加一些重要的功能(例如调试器),但当前版本已经可以利用许多使 PyDev 在 Visual Studio Code 中独一无二的功能!

只需将这些扩展添加到 VS Code 中,如下图所示。

PyDev 的 VS 代码扩展

PyDev 的 VS 代码扩展。

Thonny

 

棘手的标志
Thonny是“适合初学者的 Python IDE”,它非常简单、极其轻巧(约 20MB),但功能相当不错的 Python 代码编辑器/IDE——它甚至内置了 Python 3!

尽管它是极简主义的,但它提供了一个变量跟踪器、调试器、逐步表达式评估、代码完成——几乎是您在 IDE 中期望的一切。再一次,只有 20MB。哇🤯

Thonny 界面的屏幕截图

Thonny 界面的屏幕截图。图片来源

该项目是开源的,托管在GitHub 上

Wing Python IDE

 

Wing IDE 徽标
Wing Python IDE,“Python 的智能开发环境”,我们列表中最新的 Python IDE,具有三种风格(查看完整比较):

  • Wing 101:一个非常简单、免费的 Python IDE,专为初学者编程而设计
  • Wing Personal:专为学生和爱好者设计的免费 Python IDE
  • Wing Pro:专为专业开发人员设计的全功能 Python IDE

Wing IDE界面截图

Wing IDE 界面的屏幕截图。

它还具有您在 IDE 中期望的所有功能,但针对 Python 开发:

  • 智能编辑器,具有上下文相关的自动完成和文档、内联错误检测和代码质量分析、PEP 8 实施、调用帮助、自动编辑、重构、代码折叠、多选、可自定义的代码片段等等
  • 强大的调试器,用于修复错误并以交互方式编写新的 Python 代码。
  • 简单的代码导航
  • 项目管理,与由virtualenvpipenvconda和 Docker
  • 集成单元测试,与unittest,doctest,nose,pytest和 Django 测试框架
  • 远程开发,在处理在远程主机、VM、容器或集群上运行的 Python 代码时,无缝且安全地使用 Wing 的所有功能
  • 可自定义和可扩展,可以通过编写调用 Wing 脚本 API 的 Python 代码来添加新的 IDE 功能
  • 还有更多:使用 Black、YAPF 和 autopep8 重新格式化代码;缩进样式转换;远程开发到 Raspberry Pi 和其他 ARM Linux 设备

IDE 和代码编辑器功能摘要

以下是我们必须审查的所有 IDE 和源代码编辑器:

类型 开源 免费使用 本机 Python 支持
Atom 编辑 是的 是的
VS CODE 编辑 是的 是的 部分(通过扩展)
Visual Studio 集成开发环境 是的 部分(通过扩展)
Vim 编辑 是的 是的 部分(通过插件)
PyCharm 集成开发环境 社区(有限) 是的
Spyder 集成开发环境 是的 是的 是的
Sublime Text 编辑 评估(弹出窗口)
PyDev 集成开发环境 是的 是的 是的
Thonny 集成开发环境 是的 是的 是的
Wing 集成开发环境 个人(有限) 是的

最后的想法

Python是一种多功能语言,可用于构建范围广泛的应用程序,使用合适的 IDE 或代码编辑器,您可以提高工作效率并使 Python 开发更轻松、更愉快。

如果您刚刚开始使用 Python 开发,我建议您尝试其中的一些 IDE,看看哪一个最适合您。如果我有压力,我会说 PyCharm 和 Visual Studio Code 分别是 Python 开发的最佳 IDE 和代码编辑器。亚军是 Wing Python IDE 和 Sublime Text,它们是出色的 IDE 和代码编辑器。如果您碰巧在控制台上远程编辑某些内容,则值得一提的是 Vim。

无论如何,如果您已经在使用自己喜欢的 IDE 或代码编辑器,无论是哪种,那就彻底了解它吧!像了解和使用工具提供的所有快捷方式这样简单的事情就可以让您的工作流程日夜不同。因此,请确保您了解您的工具!

最好用的Python代码编辑器 推荐阅读

Python的面向对象编程介绍

适合初学者和高级程序员的22本Python书籍