為什麼這篇python tutorial中文鄉民發文收入到精華區:因為在python tutorial中文這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ccwang002 (亮)看板Python標題Re: [問題] 關於Python入門書籍時間Fr...
※ 引述《brightsu (渣)》之銘言:
: 小弟本身沒有程式語言的背景
: 不外乎就是語法跟一些邏輯的問題
: 所以想請問一下各位前輩是否可以推薦入門的 Python 的書
: 目前就單純只有在做一些網路爬蟲而已
: 在未來希望可以結合硬體做一些環境資料收集
: 希望還是主攻在資料收集跟處理
python tw 上有一些第一次使用 Python 的參考資料。
http://wiki.python.org.tw/Python/第一次用就上手
底下是我自己維護的入門參考資料。
O'Reilly(歐萊禮)的書,官方線上商店常有 50% 折扣,
PDF/ePub/Mobi 格式都有,能接受英文的話,十分推薦跟官方購買。
中文版就以天瓏書局為主。它也有賣英文紙本,逛實體店很舒服。
1. "Introducing Python", Bill Lubanovic, O'Reilly 2014.11
《精通 Python》
英:http://shop.oreilly.com/product/0636920028659.do
中:http://www.tenlong.com.tw/items/9863477311?item_id=1007464
O'Reilly Python 系列的書都寫得很好。這本是比較新出的,好處是它針
對初學者,比較薄,能在短時間看完,文字很流暢。
掌握基礎的語法,建議閱讀 Chp1 到 Chp7 ,以及 Chp8 File I/O 部份。
2. 《Python 程式設計入門》,葉難。博碩 2015.04
中:http://www.tenlong.com.tw/items/9864340050
原生中文書,也是針對初學者,並有列出 Python 2.7、3.3、3.4 不同版
本間的差異。內容編排是常見介紹程式語言的安排。
3. "Python Tutorial",Official Python Documentation, Python Devs.
英:https://docs.python.org/3/tutorial/index.html
簡中:http://www.pythondoc.com/pythontutorial3/index.html
繁中:https://docs.python.org.tw/3/tutorial/index.html (共同翻譯中)
Python 的官網除了查語言特性之外,還能用來學習怎麼使用 stdlib。
Python 標準函式庫功能包山包海,在你想要做什麼之前,都應該到官網
查看看是不是內建 module 就已經提供功能了。
除外,還有一個簡潔的 tutorial,供初學者參考,適合有學過其他語言的人。
我認為這份寫得非常好,苦於沒有中文,以前經驗不太容易推廣,但值得看。
4. "Programming in Python 3" 2nd, Mark Summerfield, Addison-Wesley, 2009.11
《精通 Python 3 程式設計》
英:http://goo.gl/y1xf9u (source: InformIT)
中:http://www.tenlong.com.tw/items/9862760702
另一本 Python 中文入門書,比《深入淺出》難一點但比較像常規的教科書。
5. "Learning Python" 5ed, Mark Lutz, O'Reilly, 2013.06
英:http://shop.oreilly.com/product/0636920028154.do
中:僅有舊版 (2.7) 且絕版
雖然名稱看起來很像是 Python 的入門書,但它的篇幅已經來到 1600 頁,
實在無法推薦給初學者。它在一本書內把 Python 幾乎所有語言特性都說清楚,
同時考慮到 Python 2 和 3 版本。當你想要了解,例如 MRO 的順序、何謂
unbounded, bound method,這本書詳細的程度不會讓你失望,只怕你沒空讀。
其他:
關於 MOOCs 我有看過 Codecademy Python Track 以及 Coursera "An
Introduction to Interactive Programming in Python" 這兩門課。我覺得最
大的缺點就是講 Python 2.7,Python 3.x 的好用功能與差異都沒提;
再來講課的 code 範例並不是使用 idiomatic Python syntax,在初學就沒養
成好習慣與慣用語法有點可惜。
其實還有很多 video traning 資源,例如 O'Reilly 上有 Python Learning
Path,其中 "Introduction to Python" 是 Jessica McKellar 主講,她是
PyCon APAC 2014 Keynote,口條絕對沒問題。但我沒看完整內容,無法推薦。
不適合入門但值得一看的好書
--------------------------
A. "Python Cookbook" 3ed, David Beazley and Brian K. Jones, O'Reilly, 2013.05
《Python 的錦囊妙計》
英:http://shop.oreilly.com/product/0636920027072.do
中:http://www.tenlong.com.tw/items/9863470686
這本不是入門書但很適合深入了解 Python,並讓自己的程式碼寫得更
Pythonic。裡面介紹了很多寫法慣例 idioms,同時也有中文版。非常值得
在未來比較懂 Python 時買來看。
作者之一 David Beazley 是 PyCon TW 2013 的 Keynote。
他平常就是專門教 Python 的講師,他在 PyCon 講過的「所有 talk/tutorial」
如 concurrency, packaging, async io 等等都值得一看
B. "Fluent Python", Luciano Ramalho, O'Reilly, 2015.07
《流暢的 Python》
英:http://shop.oreilly.com/product/0636920032519.do
中:http://www.tenlong.com.tw/items/986347911X
當它是詳細、擴充版的 "Python Cookbook",實際上書中也常常引用 David 的話。
講述更多 Python 初介紹時不會深談的語言特性。
如:MRO, Mixin, decorator, closure, metaprogramming
每章最後的 Future Reading 與 Soapbox 旁徵博引,除了更細節的參考資料,
還有當初 Python 為何如此設計等考量與討論的歷史、發展、與各語言比較。
非常適合做為邁向 Python core developer 的參考書。
另外,針對原 po 提到的爬蟲、資料分析、hardware 等主題,我只能對我有碰過
一點點的資料分析來介紹。
Pandas 原作者 Wes McKinney 所寫的 "Python for Data Analysis" 是一本很經典的
Python 資料分析入門書,雖然有點舊(作者預計今年底出新版),但還是能掌握
像 Jupyter (IPython) Notebook, Pandas, matplotlib 最基本的 toolchain。
他也是 PyCon APAC 2014 的 Keynote。
要了解近代 Pandas 的新 API 與設計精神,可以讀官網的 Tutorial
http://pandas.pydata.org/pandas-docs/version/0.18.1/tutorials.html
或者官網推薦的 "Modern Pandas" 一系列文章
http://tomaugspurger.github.io/modern-1.html
以上的所有內容我都至少看過一個語言(英文為主),其他的就待其他人補充了。
Conflict of Interest Disclosure
-------------------------------
我不是 O'Reilly 與天瓏的員工,我也不賣書。
我有參與官方 Python Tutorial 的中文翻譯,也歡迎大家加入。
/
如果有什麼主題,希望大家來交流討論的話,不妨報名 PyCon TW 的 BoF 擺攤。
形式自由,純聊天都可以。預計至少有 web 的,希望有人能開資料分析、
機器學習(深度學習)、DSP、Hardware、FinTech 等坑。
PyCon TW BoF 資訊: https://tw.pycon.org/2016/events/bof/
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.8.172
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1463750830.A.DA8.html
如果你需要的是完整情境例子的話,Introducing Py 後半、Py Cookbook、Fluent Py
這幾本比較多,但可能專門介紹 tool 的(如 Py for Data Analysis)會更豐富。
畢竟初學的書要顧及不能一次用太多語言特性或功能。
※ 編輯: ccwang002 (114.44.8.172), 05/20/2016 22:28:11
如果沒什麼 performance tuning 經驗的話,這本書作為入門很不錯,各方面都有談到。
不過實際上真的要優化效能的話,單看這本不一定足夠,可能要花些時間,
例如讀 tool documentation 或專書 (cffi, Cython, numpy 等),
但優化本來每方面深入都是無底洞,以一本 400 頁的書應該算難度、廣度很平衡了。
※ 編輯: ccwang002 (114.44.8.172), 05/22/2016 02:50:48
不該讀測試驅動開發這本書。