许多刚入门 Python 的朋友都在纠结的的问题是:我应该选择学习 python2 还是 python3?
对此,咪博士的回答是:果断 Python3 !
可是,还有许多小白朋友仍然犹豫:那为什么还是有人推荐我学习 Python2 呢?
其实,无外乎以下一些原因(但这些理由经咪博士稍微一推敲就站不住脚了):
1. 无论是 Python 还是 Pip 的下载量,都是 2 比 3 多,可见 2 仍然是主流
错!造成 2 的下载量比 3 多的原因很多,但其中很重要的一条是,绝大多数操作系统(Linux 发行版)默认安装的仍然是 Python 2。人都是有惰性的,许多人懒得折腾就直接用了2 了。但是,2 在下降,3 在上升这是不争的事实。拥抱未来才是王道啊。
2. Python 2 和 3 不兼容,学了 3 还得学 2
错!Python 提供了许多辅助的库,可以让你分分钟写出兼容 3 和 2 的代码,你要做的只是引入几个包而已,几乎不用修改代码。实在万不得已非得用 2,你有 3 的基础,几乎不需要什么额外的学习,也能立刻上手 2。
3. 许多库还停留在 Python 2,Python 3 用不了
错!说出这话的这位仁兄,你是有多久没有关注 Python?太不了解行情了。
根据 py3readiness 的最新统计结果,Pip 上最流行的(下载量最高的)前 360 个库,已经有345 个支持 Python 3 了。
其中,只剩下 15 个(大约 4%)库暂时还不支持 Python 3。你究竟是有多执着,非要等到 100% 才肯用 3?
当然,有些朋友还是不放心,这里咪博士根据 Python 的不同用途,仔细检查了每个领域最常用的包(有一些没有在 py3readiness 中罗列出来),它们(具体见文章末尾)无一例外,全部支持 Python 3 !
你的工作能有多特别?非得用 3 才能搞定?即使真遇到这样的情况,使用 virtualenv, conda 这些成熟的工具,分分钟在你的机器上另起一个 2 的环境,和 3 完美兼容,你还需要担心什么?
拥抱 Python 3 吧!人生苦短,我用 Python 3。
附:以下常用 Python 库,经咪博士检查,都已经支持 Python 3 了
爬虫相关
- scrapy
- lxml
- requests
- selenium
Web 开发
- Django
- Flask
- Bottle
网络编程
- Twisted
- Tornado
数据库
- SQLAlchemy
- peewee
- pony
- pymongo
- redis
机器学习
- Scikit-learn
- gensim
- nltk
深度学习
- Tensorflow
- Theano
- Caffe
科学计算/数据分析
- numpy
- Scipy
- pandas
- matplotlib
- seaborn
- statsmodels
- sympy
图像处理
- scikit-image
- Pillow
- opencv
运维相关
- psutil
- IPy
- dnspython
- rrdtool
- playbook
桌面应用
- PyQt
- wxPython
- Pywin32
游戏开发
- Pygame
- PySDL2
【原文链接】http://www.ipaomi.com/2017/10/10/python-初学者-入门-应该学习-python-2-还是-python-3?/