如果你是一个初学者,或者你以前接触过其他的编程语言,你可能不知道,在开始学习Python的时候都会遇到一个比较让人很头疼的问题:版本问题!!是学习Python2.x 还是学习 Python3.x ?这是非常让人纠结的!
搜索一下便会发现python3 和 python2 是不兼容的,而且差异比较大,到底学习哪个版本呢?下面就来为大家分析一下:
其实Python是linux上最常用的软件之一,但是linux目前的版本大部分还是使用Python2.x的,而且,在linux上依赖Python2.x的程序更多一些,所以 Python3.x 要代替 python2.x 成为主流还需要几年的时间。
当初设计 Python3.x 的目的是没有代码兼容的包袱的情况下改进 Python,但个人认为改进得还不够大刀阔斧,没有彻底改进一些bug,还有不少的 wart 错过了改进机会,因此造成的语法不兼容的地方也没最初设想的多。
人们几年摸索慢慢下来,大部分的情况下可以直接写 2/3 兼容的代码,也有 six 这类的兼容层可用。
所以先学 Python2.x 还是 Python3.x 都不是问题,或者说都是问题。
目前现状是实际应用中大部分暂不考虑 Python3.x,有的时候注意写兼容 2/3 的代码。用 Python2.x 为主的写新代码时要考虑以后迁移到 Python3.x 的可能性。
无论学 Python2.x 还是 Python3.x,都需要注意另外一边的不同点:所幸就是这些不同点很容易掌握,只有一个 unicode encoding 对较多人造成困扰(同时也是很多 web 相关库移植的主要障碍,3.3 重新支持 u'',情况大大改善了)
学习Python2.x 还是 python3.x 、使用Python2.x 还是 Python3 需要看具体情况而定。
所以建议:
1. 如果是你在企业中,需要用到Python而学习Python的话,那就要看企业的应用Python的版本进行学习(现在绝大多数企业仍在用Python2.x);
2. 如果想要更多的成熟解决方案,最少的bug,最稳定的应用那就用Python2.x;
3. 如果是刚进校门的大学生,可以学Python3.x,但目前的教材都是以Python2为参照写的,所以这个过程中会有点小障碍。