Python 入门建议
对于我来说,Python 似乎已经入门了。那就把我的入门建议写出来吧,能让看到的人避免走弯路就好。下面的标题按时间顺序排列。
Python2 还是 Python3 ?
毫无疑问,Python2 是辉煌,Python3 是未来。不要相信网上那些大牛吐槽 Python3 速度慢、兼容性差、库少等等言论了,仔细看看那些言论的发表时间。现在已经2015了好么。
如果某个库到现在还没有兼容 Python3,那么放弃它就是了,它的作者已经将其抛弃。
使用 Python3 ,你不会再碰到恶心的 i18n 问题,也不会再面对那些奇怪的包名了。
选 Python3 吧,因为你属于未来。
第一本 Python 书?
自然是这本了: The Python Tutorial , 中文翻译 。
Python 文档的质量很高,更新也非常及时。看完上面这本(大约2天就够了),你就已经了解了 Python 最主要的特性。注意中文翻译版可能有些错误,应和原版一起阅读。
离线文档
在 Windows/Linux 上安装 Zeal ,在 Mac OS X 上安装 Dash ,然后下载 Python 的离线文档。
若是不愿意使用上面的软件,可以直接下载 Python.org 提供的离线文档,建议下载 HTML 版本,这样搜索会比较快速。
我常用的方案是在本地架设 HTTP Server(使用Apache 或者 Nginx),使用本地站点定位(例如:http://localhost/docs),这样可以整合许多可用的文档,搜索起来比较方便,例如这个: http://doc.zengrong.net/python/ 。
编辑器/IDE
如果没有什么偏好的话,可以使用 Sublime 。若是喜欢 IDE 类型,可以使用 PyCharm 这个和 Intellij IDEA 同源的优秀 IDE。若已经加入 Vim 或 Emacs 党,就什么都不用选。
Coding with Quick And Dirty
接着可以写一些菜鸟级的程序了。把以前用 bash 写的打包脚本神马的拿来改一改,用 sed/awk 写的文本分析器拿来重写下,找点自信让自己继续下去。不要太关注是否采用了 Python 风格的用法,这个过程的重点在于建立自信和找到使用 Python 的快乐感觉。
在这个过程中,不可避免的会接触到 Python 的标准库,用 Quick and Dirty 的方法去学习它们,让它们在你脑海中留下印象。
在这个不超过一周的过程中,可能会发出感叹:Kao,真 TMD 的简单。
Coding reference
在 Coding 的过程当中,可能会碰到不少问题,毕竟一门流行的语言都有一个完善的社区和工作流程,要干活,就要了解他们。
我将这些信息集中在这里,方便查找:
- 你经常会碰到 PEP 类的东东,它们是什么?—— PEP Purpose and Guidelines
- Python 代码规范 —— Style Guide for Python Code
- 安装第三方包,各种不同的方法令人很焦虑? —— Python 包管理工具解惑
- 你需要一个虚拟环境。 ——Python 虚拟环境
第二本 Python 书
第二本当然就是传说中 The Fuck Reference 了。你不可能在第一时间全部读完它,但你至少应该先读完这个: Data model 。Data Model 本来就是一个面向对象语言的基础,先读完这个,才能够更顺畅地阅读 Reference 的其他部分。
Reference 应该作为字典,在不懂的时候就来查一下,在没事的时候就来翻一下。毕竟,这些是 Python 最基础的东西。
Coding in a project
现在的 Coding 不能局限于脚本级别了,你应该完成一个项目。这个项目可以是你以前项目的 Python 翻版,也可以从头设计一个新的小型项目。
这个部分对你的帮助在于,通过完整项目的设计,你能将以前的工程化经验应用到 Python 中来(或者反过来说也行),你会更了解 Python 在项目管理上的一些技能。
这方面值得单独写一篇文章来说明。
下面两个是我初学 Python 的时候建立的两个项目,我一直在对它们维护到现在。
- rookout 一些我自己常用的 python 功能封装。
- wpcmd 通过 WordPress XML-RPC 接口在本地创建、更新 WordPress 博客的命令行工具。zengrong.net 就是使用该工具进行管理。
如果对 GUI 开发感兴趣,我建议在这个阶段直接开启一个 GUI 项目,使用 PyQt5 ,然后使用cx_Freeze 打包。