作者:安龙 LeanCloud 工程师
引言 :
前段时间有同学反映 Python 的学习资源汇总很少。那么学习资料哪个质量更好,效率更高?Python 有哪些非常值得学习的库?2017 年了学 2 还是学 3 更好?
2 or 3 ?
学习 Python 的新人都有一个疑问,Python 有两个分支, Python2 和 Python3,我应该学习哪个?
在 2017 年的今天,答案应该越来越明朗了:
Python2 的维护即将在 2020年结束,之后不会再有官方社区的支持与 bug 修复了,意味着如果你的服务器上运行的还是 Python2,如果出现了任何 0 day 漏洞,很难得到及时解决。这里有一个 Python2 死亡倒计时:pythonclock.org/ 。
下载量最多的 360 个 Python 第三方模块中,已经有 342 个支持 Python3 了:py3readiness.org/ 。这意味着在使用 Python3 时,你基本不会遇到兼容问题。
最受欢迎的 Python Web 开发框架 Django,将会在 2.0 版本中移除对 Python2 的支持:www.djangoproject.com/weblog/2015… 。
Python3 增加了很多有用的特性,比如可选类型标注、内置异步 IO、「async / await」语法。
Python3 会产生更少的「UnicodeEncodeError」😏。
所以如果不是必须要维护一个已有的,代码量巨大的 Python2 项目,现在已经完全没有必要学习 Python2 了。
教程
Python 官方教程
Python 社区官方出品的教程,适合新手入门,权威性有保障。
链接:docs.python.org/3/tutorial/…
中文翻译:docspy3zh.readthedocs.io/en/latest/t…
Dive Into Python3
相对进阶一些的教程。
链接:www.diveintopython3.net/
中文翻译:dipyzh.bitbucket.io/
《Python Cookbook 第三版》
字典书,适合遇到问题时现场查阅,或者直接放在厕所里。
中文版豆瓣链接:book.douban.com/subject/263…
PyCoder’s Weekly
每周分享 Python 相关的文章、项目、新闻,可以了解 Python 社区最新动态。
链接:pycoders.com/
中文翻译:pycoders-weekly-chinese.readthedocs.io/en/latest/
Django Book
关于 Django 框架的详细教程,除了 Python 之外还能学到和 Web 开发相关的很多技能。
链接:djangobook.com/
中文翻译:djangobook.py3k.cn/2.0/
常用库推荐
Flask
除了上面提到的 Django 之外,Flask 也是一个很好的选项。设计思路与 Django 完全相反,轻量级,不与数据库强耦合。
官网:flask.pocoo.org/
中文翻译:www.pythondoc.com/flask/index…
Requests
如果你要编写简单的爬虫,来爬去互联网上的信息,或者调用一些外部的机遇 HTTP 的接口,使用这个库再也合适不过了。
官网:cn.python-requests.org/zh_CN/lates…
编码规范
关于 Python 代码的编码规范,请遵守PEP8:
链接:www.python.org/dev/peps/pe…
中文翻译:my.oschina.net/u/1433482/b…
扩展阅读
awesome-python
链接:awesome-python.com/