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 打包。