先列一下我用过的几个Python编辑器的特点,最后给出结论。PyCharm,PyCharm内置了一整套的开发解决方案,包括虚拟环境管理、包管理等等功能,在你刚开始搞不清楚虚拟环境、包管理等等概念的时候,用PyCharm会比较省心。但是它比较吃硬件,如果硬件配置不是问题,可以考虑使用PyCharm。PyCharm不是开源免费软件,社区阉割版免费,专业版收费,因为我本人很少用,所以没有详细对比过二者的区别。
Spyder,Spyder是anaconda自带的一个用于数据分析的开源免费编辑器,它的界面和功能都仿照MATLAB,如果你用Python主要是用来进行数据分析,那么用这个编辑器会很方便,但是这个编辑器的UI实在是太丑了。
Jupyter notebook,Jupyter也是anaconda自带的开源免费编辑器,它是以浏览器作为载体的一个数据分析+笔记的工具,以前叫IPython notebook。我认为它是目前为止我用过最适合于进行数据分析的工具,因为它不仅可以按代码块进行分块的运行,实时运行和调试,而且它支持Markdown渲染用于记录富文本笔记,而非注释。同时它可以将绘图结果直接内嵌在页面里,可以说是集代码、笔记和结果显示于一体的数据分析工具,用它做数据分析,做完整理好不仅仅是一个脚本,同时还是一篇文章,甚至可以是一本书。《Python数据科学手册》这本书的作者,就把整本书的全部内容用Jupyter写了一遍并在GitHub上开源:https://github.com/jakevdp/PythonDataScienceHandbook
VSCode,这个编辑器应该说是IT行业最受欢迎的免费编辑器,PyCharm的功能VSCode几乎都有,但VSCode不是仅仅针对Python这一门语言的,它可以作为几乎所有主流语言的IDE。它相对于PyCharm的优势是轻量、开源免费、UI更现代化,缺点是开发前需要进行手动配置,安装插件,没有PyCharm那么一应俱全傻瓜式。
Sublime Text,和VSCode类似,Sublime Text也是一个通用性的编辑器,内置了大量语言的代码高亮,并且Sublime比VSCode更加轻量,我现在甚至直接用它代替系统的文本编辑器,作为默认的文本编辑器。它的功能比较有限,虽然有海量的插件可以实现各种功能,但是配置起来比VSCode麻烦,需要花费大量精力做前期配置。当然,如果你愿意花时间折腾,它也可以实现PyCharm和VSCode的几乎全部功能。Sublime不是通常意义上的免费开源软件,目前的状况是可以无限期免费试用,如果不买它会隔三差五跳出弹窗提醒你购买。
Atom,Atom是GitHub团队开发的开源免费的代码编辑器,它的定位与VSCode类似,具有现代化UI风格,有丰富的插件和健康的插件社区,还是那句话,只要你愿意花时间折腾做配置,它可以实现VSCode、Sublime和PyCharm的几乎全部功能。
以上工具我前前后后都用过,但是最后我的选择是:Jupyter + VSCode + Sublime。
如果你学Python还处于hello world的阶段,那么你应该先用Sublime,因为你在这个阶段主要是熟悉Python语言本身的特征以及一些标准库的功能,根本不需要涉及第三方库,因此也不会涉及到虚拟环境管理、包管理等等功能,使用内置语法高亮的Sublime足矣。此外,Sublime的很多快捷键与VSCode、PyCharm是通用的,你可以使用⌘+d来进行重复选择、使用⌘+鼠标左键进行多光标选择等等,这套快捷键几乎已经成为了各种IDE的默认标准,当然各IDE可能有一些小的不同,但都是大同小异,你熟悉了Sublime的快捷键,后面使用其他IDE会很顺手。不要用默认编辑器,因为它没有代码高亮,没有快捷键系统。不要用vim,因为它的学习曲线太陡。
如果你已经完成了hello world阶段,那么你应该开始要用到第三方库,可能会涉及到Python的包管理、虚拟环境,这个时候你可以先用PyCharm,因为它有一套傻瓜式的包管理和虚拟环境管理功能,能让你更多的精力集中于实现代码功能。当然,这要看你使用Python的应用领域,如果你是用Python进行科学计算,比如做科研论文的数据处理,那么你所需要的是一个数据分析的IDE,我的建议是使用Jupyter,因为它不但可以进行数据处理,而且可以记录整个处理流程和结果,可以直接形成一篇优美的数据分析笔记,而非丑陋的注释。如果你所应用的领域不是数据分析,而是运维、网站开发等领域,那么用Jupyter就不太合适。你需要一个通用的IDE,正如前面提到的PyCharm。当然,除了PyCharm以外,你也可以尝试使用VSCode、Atom、Sublime等,但是使用这些编辑器就需要你具备一些虚拟环境和包管理的知识,同时很多功能需要你自己去手动寻找和安装插件,一旦你能够摆脱PyCharm而自己动手丰衣足食以后,你会获得自由,同时你对Python的理解也会再上一个台阶,当然在你尝试了多个编辑器以后你也可以回过头来再使用PyCharm,这就是你自己的选择了。
前期尝试多种工具,最后选择一套工具,并一直用下去。