最好用的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

甚至Electron——构建 Atom 的框架——也通过允许使用 Web 技术构建桌面应用程序带来了相当多的创新。(稍后会详细介绍。)
由于微软收购了 GitHub,因此决定专注于进一步开发 Atom 的竞争对手 Visual Studio Code (VS Code)。这可能是一个不错的决定,因为 VS Code 已经成长为一个更好的选择。
VS CODE

VS Code 风靡开发社区有一个很好的理由:它太棒了!它的一些功能包括:
- 它是开源的
- 它有一个功能齐全的网络版本
- 它每月滚动更新(功能也很丰富)
- 它有一个活跃的YouTube 频道和博客
- 它提供内置的 Git 支持
- 它有一个充满活力的扩展市场
- 它有一个有据可查的 API
- 它有丰富的学习资源
对于微软在支持开发人员方面犯下的所有错误(不要让我开始),该公司这次通过 VS Code 成功地扭转了局面。它对Python 的支持是一流的!
Python 代码的 IntelliSense 和自动完成功能。
提示:查看VS Code 的 IntelliCode 扩展(预览版)。IntelliCode 为 Python 中的 IntelliSense 提供了一组 AI 辅助功能,例如根据当前代码上下文推断最相关的自动完成:
- 自动完成和IntelliSense
- 棉绒
- 调试
- 环境支持
- 内联 Jupyter 笔记本
- 测试
以上所有功能都是内置的或由官方扩展支持的。
Jupyter 笔记本在笔记本编辑器中的 VS 代码中运行。
所以是的,VS Code 将满足你所有的基本 Python 编码需求(以及更多)。
额外:Visual Studio(IDE)

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

Vim 控制台
其特点包括:
- 它是持久的
- 它有一个多级撤消树
- 它有一个广泛的插件系统
- 它支持数百种编程语言和文件格式
- 它具有强大的搜索和替换(使用正则表达式)
- 它提供集成的差异/合并工具
Vim 不仅仅是一个 IDE。它更像是一种生活方式!但即使您不采用“Vim 生活方式”,当您需要通过控制台远程快速编辑某些内容时,它仍然可以节省您的培根。此外,您可以从命令行在 Vim 中执行所有操作,或者您可以在浏览器中使用Firefox或Chrome来使用它。
但是,如果您正在寻找特定于 Python 的功能,可以使用一些很棒的插件,它们将为您提供所需的全部功能:
- YouCompleteMe:Vim 的代码完成引擎,除其他外,它提供对 Python 的扩展支持
- UltiSnips:Vim 的代码片段解决方案,与 YouCompleteMe 结合使用效果很好。
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 界面的屏幕截图。图片来源
Spyder 在很多方面与 PyCharm 非常相似。它们都是支持插件的 Python 原生 IDE。但是 Spyder 是专门为数据科学而设计的:
- IPython 控制台,在一个 GUI 中利用尽可能多的 IPython 控制台的力量
- Variable explorer,动态地与变量交互和修改变量
- 绘图,浏览、缩放、复制和保存您创建的图形和图像
- 调试器,以交互方式跟踪代码执行的每个步骤
- Help,即时查看任何对象的文档,并呈现您自己的文档
由于 Spyder 在后台使用 IPython 控制台,因此您始终可以打开一个spyder
控制台并使用它来代替Jupyter notebooks。
Sublime Text

但是,Sublime Text 可以免费下载和评估。虽然“必须购买许可证才能继续使用”,但实际上目前没有强制执行评估的时间限制(弹出窗口和定期提醒除外)。
Sublime Text 界面。
我必须说,直到几年前,Sublime Text 还提供了一些高级体验,因为它设计精美的界面和低资源消耗(背后显然有高质量的产品管理和软件工程)。但是男孩在过去的五年中对 VS 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 添加了大量通用功能,以及许多 Python 特定的功能:
- Django 集成
- 代码完成
- 自动导入代码完成
- 类型提示
- 代码分析
- 去定义
- 重构
- 调试器
- 远程调试器
- 在调试器中查找引荐来源网址
- 令牌浏览器
- 交互式控制台
unittest
一体化- 代码覆盖率
- PyLint 集成
- MyPy 集成
如您所见,PyDev 非常受关注,因此如果您是 QA 专家,您可能会喜欢上 PyDev。
Visual Studio Code 上的 PyDev
尽管 PyDev 通常与 Eclipse 一起使用,但现在也可以在 VS Code 上利用 PyDev 的功能!
虽然要添加一些重要的功能(例如调试器),但当前版本已经可以利用许多使 PyDev 在 Visual Studio Code 中独一无二的功能!
只需将这些扩展添加到 VS Code 中,如下图所示。
PyDev 的 VS 代码扩展。
Thonny

尽管它是极简主义的,但它提供了一个变量跟踪器、调试器、逐步表达式评估、代码完成——几乎是您在 IDE 中期望的一切。再一次,只有 20MB。哇🤯
Thonny 界面的屏幕截图。图片来源
该项目是开源的,托管在GitHub 上。
Wing Python IDE

- Wing 101:一个非常简单、免费的 Python IDE,专为初学者编程而设计
- Wing Personal:专为学生和爱好者设计的免费 Python IDE
- Wing Pro:专为专业开发人员设计的全功能 Python IDE
Wing IDE 界面的屏幕截图。
它还具有您在 IDE 中期望的所有功能,但针对 Python 开发:
- 智能编辑器,具有上下文相关的自动完成和文档、内联错误检测和代码质量分析、PEP 8 实施、调用帮助、自动编辑、重构、代码折叠、多选、可自定义的代码片段等等
- 强大的调试器,用于修复错误并以交互方式编写新的 Python 代码。
- 简单的代码导航
- 项目管理,与由
virtualenv
、pipenv
、conda
和 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 或代码编辑器,无论是哪种,那就彻底了解它吧!像了解和使用工具提供的所有快捷方式这样简单的事情就可以让您的工作流程日夜不同。因此,请确保您了解您的工具!