昨天的文章里也提到了:python 2 版本将在今年正式停止官方维护(具体时间上有不同说法,1月1号、4月、8月……但这个差别意义不大了)


从我开始做 Python 编程教学的工作开始,就始终在解答读者一个问题:我到底学 py2 还是 py3?


最早期我建议2,因为那时候3的教程少,有不少库也还没支持3;后来我建议跟着你的教材版本走;到近两年就直接回复不要考虑版本2了。


虽然结论已经很明确,但我还是想客观地说一句:对于学习者来说,学 py2 还是 py3,真的没有太大差别。之所以这会成为一个问题,主要原因在于:

  1. 在新手刚学习时就会接触到的输入输出 input 和 print 上,py3 就相较 py2 做了改动,以至于让很多没注意版本的学习者一上来就踩了大坑,进而以为两个版本有巨大差异。

  2. py3 的确不兼容 py2,而 Python 牵涉的第三方库又众多,这让很多程序员头疼,于是在网上大肆吐槽调侃版本间的问题,让不知内情的人望而生畏。


但实际上,Python 的版本问题主要是对于开发者来说的。而学习者一开始会遇到的问题,除了几个函数的使用方法不一样外,绝大部分的语法都是一致的。哪怕在停止更新 py2 的 2020 年,你照着一本 py2 的教程,安装上 2.7 的 Python,一样可以学会 Python 的使用。在之后转用 py3 进行开发,也只是分分钟的事情。


当你想学习一样东西时,前期的调研是很有必要的,但很多时候并不用过分纠结于所谓“最佳实践”,花一点点时间自己动动手试一试,或许只需要一个周末,你就会有比网上信息更清楚的认识。