对于我来说,Python 似乎已经入门了。那就把我的入门建议写出来吧,能让看到的人避免走弯路就好。下面的标题按时间顺序排列。 Python2 还是 Python3 ?毫无疑问,Python2 是辉煌,Python3 是未来。不要相信网上那些大牛吐槽 Python3 速度慢、兼容性差、库少等等言论了,仔细看看那些言论的发表时间。现在都特么已经2015了好么。 如果某个库到现在还没有兼容 Python3,那么放弃它就是了,因为它的作者已经抛弃了它。 使用 Python3 ,你不会再碰到恶心的 i18n 问题,也不会再面对那些奇怪的2包名了。 选 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./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 的过程当中,可能会碰到不少问题,毕竟一门流行的语言都有一个完善的社区和工作流程,要干活,就要了解他们。 我将这些信息集中在这里,方便查找:
第二本 Python 书第二本当然就是传说中 The Fuck Reference 了。你不可能在第一时间全部读完它,但你至少应该先读完这个:Data model 。Data Model 本来就是一个面向对象语言的基础,先读完这个,才能够更顺畅地阅读 Reference 的其他部分。 Reference 应该作为字典,在不懂的时候就来查一下,在没事的时候就来翻一下。毕竟,这些是 Python 最基础的东西。 Coding With a Project现在的 Coding 不能局限于脚本级别了,你应该完成一个项目。这个项目可以是你以前项目的 Python 翻版,也可以从头设计一个新的小型项目。 这个部分对你的帮助在于,通过完整项目的设计,你能将以前的工程化经验应用到 Python 中来(或者反过来说也行),你会更了解 Python 在项目管理上的一些技能。 这方面值得单独写一篇文章来说明,不过我似乎不必写了,因为已经有一篇了: Open Sourcing a Python Project the Right Way 。 下面是我初学 Python 的时候建立的两个项目,我一直在对它们维护到现在。他们的内容足够简单,可以拿来稍作参考。
如果对 GUI 开发感兴趣,我建议在这个阶段直接开启一个 GUI 项目,使用 PyQt5,然后使用 cx_Freeze 打包。 在这个阶段,必须要注重 code style,深入理解各种不同用法,了解API和标准库(仅仅是了解,不必熟悉),并完全忘记前面施行的 Quick And Dirty 方法。 没有终点Python 可以做很多事情。科学家用它来做 科学计算,漫画爱好者用它来爬站,程序员们用它来写开源/商业软件,我们也曾经用它做游戏服务器,还有 游戏引擎 直接使用它做脚本语言。 写 Python,需要注意的是它是 Python,不是 C++。对任何一个新的语言,都不要试图完全用自己已有的语言经验去理解和使用它。在程序中要体现出 Python 的特点:lambda、生成器、列表推导式,这些东西不可不用,也不应乱用。 入门到此为止,但学习没有终点。我列出一些可能所有 Python 使用者都需要了解的东西(或需要的资源),而更多的内容,只能根据偏好和使用方向自己选择了。
(全文完) |
|
来自: icecity1306 > 《开发资料》