《笨辦法學 Python》(Learn Python The Hard Way)是 Zed Shaw 編寫的一本 Python 入門書籍。適合對電腦瞭解不多,沒有學過編程,但對編程感興趣的朋友學習使用。這本書以習題的方式引導讀者一步一步學習編程,從簡單的列印一直講到完整 項目的實現。也許讀完這本書並不意味著你已經學會了編程,但至少你會對程式設計語言以及編程這個行業有一個初步的瞭解。
筆者認為本書區別於其它入門書籍的特點如下:
 注重實踐。本書提供了足夠的練習代碼,如果你完成了所有的練習(包括加分習題),那你已經寫了上萬行的代碼。要知道很多職業程式員一年也就寫幾萬行代碼而已。
 注重能力培養。除了原序言提到的“讀和寫”、“注重細節”、以及“發現不同”這樣的基本能力以外,本書還培養了讀者自己專研問題和尋求答案的能力。
 注重好習慣的養成。本書詳細地講解了怎樣寫出好的代碼、好的注釋、好的項目。這會讓你在後續的學習中少走很多彎路。
本
書結構非常簡單,其實就是 52 個習題而已。其中 26 個覆蓋了輸入輸出、變數、以及函數三個課題,另外 26
個覆蓋了一些比較進階的話題,如條件判斷、迴圈、類和對象、代碼測試、以及項目的實現等。每一章節的格式基本都是一樣的,以代碼練習題開始,讀者照著說明
編寫代碼(不允許複製粘貼),運行並檢查結果,然後再做一下加分習題就可以了。當然如果你覺得加分習題對你來說有點難,你也可以暫時跳過,以後再完成也沒
關係。
另外閱讀本書還需要你有一定的英文能力。其實學編程不懂英語是很吃虧的,畢竟程式設計語言都是基於英語,而編程社群的主要交流方式也是
英語。不會英語的人在編程界可能就只好當二等公民了。本書的翻譯盡量保留了所有的英文專業詞彙(可能會有中文說明),而且遵照 Zed
的建議,代碼及答案部分沒有翻譯成中文,讀者看到不懂的地方,請自己查字典解決。
如果你對自己的英文能力比較有信心,譯者強烈推薦你直接去下載閱讀英文原版。這本書代碼較多,文字內容較少,因此英文原版的閱讀理解也比較容易。
LPTHW
的風格和別的書差異很大。它沒有像一般的入門書籍一樣通過討好讀者以激發讀者興趣,而是直截了當地告訴你你需要做什麼,需要注意什麼。這種風格可能會讓人
覺得枯燥乏味,讀者姑且把這也當做 Hard Way 的一部分把。所以如果你覺得有些看不下去,Zed 推薦你看下面兩本書:
 How To Think Like A Computer Scientist
 A Byte Of Python 這本書有 中譯版
原書著作權為 Zed Shaw 所,譯文著作權為 Zed Shaw 和譯者共有。譯文遵循原書的著作權 規定:只允許完整轉載,禁止商業用途。
圖書提綱
 譯者前言
 前言:笨辦法更簡單
 習題 0: 準備工作
 習題 1: 第一個程式
 習題 2: 注釋和井號
 習題 3: 數字和數學計算
 習題 4: 變數(variable)和命名
 習題 5: 更多的變數和列印
 習題 6: 字串(string)和文本
 習題 7: 更多列印
 習題 8: 列印,列印
 習題 9: 列印,列印,列印
 習題 10: 那是什嗎?
 習題 11: 提問
 習題 12: 提示別人
 習題 13: 參數、解包、變數
 習題 14: 提示和傳遞
 習題 15: 讀取檔案
 習題 16: 讀寫檔案
 習題 17: 更多檔案操作
 習題 18: 命名、變數、代碼、函數
 習題 19: 函數和變數
 習題 20: 函數和檔案
 習題 21: 函數可以返回東西
 習題 22: 到現在你學到了哪些東西?
 習題 23: 讀代碼
 習題 24: 更多練習
 習題 25: 更多更多的練習
 習題 26: 恭喜你,現在可以考試了!
 習題 27: 記住邏輯關係
 習題 28: 布林運算式練習
 習題 29: 如果(if)
 習題 30: Else 和 If
 習題 31: 作出決定
 習題 32: 迴圈和列表
 習題 33: While 迴圈
 習題 34: 訪問列表的元素
 習題 35: 分支和函數
 習題 36: 設計和調試
 習題 37: 複習各種符號
 習題 38: 閱讀代碼
 習題 39: 列表的操作
 習題 40: 字典, 可愛的字典
 習題 41: 持劍的熊,密室
 習題 42: 物以類聚
 習題 43: 你來製作一個遊戲
 習題 44: 給你的遊戲打分
 習題 45: 對象、類、以及從屬關係
 習題 46: 一個項目骨架
 練習 47: 自動化測試
 習題 48: 更複雜的使用者輸入
 習題 49: 建立句子
 習題 50: 你的第一項工作任務
 習題 51: 評審你的遊戲
 習題 52: 把你會的教給別人
 下一步
 老程式員的建議