1. 程式人生 > >這本Python入門暢銷書《“笨辦法”學python 3》,不僅僅是一本書

這本Python入門暢銷書《“笨辦法”學python 3》,不僅僅是一本書

此前,小編分享過一篇文章《跟著數百萬人程式設計導師學C語言!》,介紹的是澤德 A. 肖大神的新書《“笨辦法”學C語言》很多使用者在後臺留言,《“笨辦法”學Python 3》什麼時候出版?今天這本書終於在六月初與大家見面啦,與作者其他的圖書風格一樣,《“笨辦法”學Python 3》也不僅僅是一本書,隨書附贈5個多小時充滿激情的視訊,這是一套完整的Python語言視訊課程! 純正的美式發音,中文字幕,邊看邊練兩不誤。

​掃碼看視訊​

“"笨辦法"學Python 3講的是什麼?”

本書的目的是讓你起步程式設計。雖然說是用“Hard Way”(笨辦法)學習寫程式,但其實並非如此。所謂的“笨辦法”指的是本文的教學方式,也就是所謂的“指令式”教學。

在這個過程中,我會讓你完成一系列習題,而你則通過反覆練習來學到技能,這些習題也是專為反覆練習而設計的。對於一無所知的初學者來說,在能理解更復雜的話題之前,這種教授方式效果是很好的。你可以在各種場合看到這種教授方式,從武術到音樂不一而足,甚至在學習基本的算術和閱讀技能時也會看到這種教學方式。

本書通過練習和記憶的方式,指導你逐漸掌握使用Python程式設計的技能,然後由淺入深,讓你將這些技能應用到各種問題上。讀完本書之後,你將有能力接觸學習複雜的程式設計主題所需的工具。我喜歡告訴別人:我的這篇文章能給你一個“程式設計黑帶”。意思就是說,你已經打好了基礎,可以真正開始學習程式設計了。

如果你肯努力,並投入一些時間,掌握了這些技能,你將學會如何編寫程式碼。

“針對Python 3的改進”

本書使用了Python 3.6。我用Python的這個版本是因為它包含了一個新的改進版的字串格式化系統,這個系統比之前的更為易用。初學者接觸Python 3.6可能會遇到一些問題,但我在書裡會幫你克服。Python 3.6的一個特別令人頭疼的問題是,在一些關鍵位置的出錯訊息都很糟糕,不過這些我都會幫你弄懂的。

我還根據自己過去5年的教學經驗,改進了視訊教程。以前的視訊中,你只是看我做習題,在新版視訊裡,你還可以看到我如何破壞每個習題中的程式,以及如何修復它們。這種技術稱為“除錯”(debugging)。從中你可以學到如何解決問題,也能對Python執行你建立的程式的原理有一個概念,從而提高你解決問題的能力。你還會學到很多有用的除錯技巧。

最後要講的是,Python 3版本完全支援Windows 10。過去的版本偏重於Unix風格的作業系統,如macOS和Linux,Windows只是順便講講。在我寫這本書的時候,微軟公司已經開始認真對待開源工具和開發者了,而且Windows也是一個嚴肅的Python開發平臺。在視訊中,很多場合下我用Windows進行了演示,為了完全相容,我也演示了macOS和Linux。我講了每個平臺都會遇到的一些坑,演示了安裝過程,還提供了不少別的小竅門。

​​笨辦法更簡單

在本書的幫助下,你將通過完成下面這些非常簡單的事情來學會一門程式語言,這也是每個程式設計師的必經之路。

1.從頭到尾完成每一個習題。

2.一字不差地錄入每一段程式。

3.讓程式執行起來。

就是這樣了。剛開始這對你來說會非常難,但你需要堅持下去。如果你通讀本書,每晚花一兩個小時做做習題,你可以為自己讀下一本程式設計書打下良好的基礎。這篇文章可能無法讓你一夜之間成為一名程式設計師,但它將會讓你踏上學習程式設計方法的道路。

本書將教會你程式設計新手需要了解的3種重要的技能:讀和寫、注重細節以及發現不同。

讀和寫

很顯然,如果你連打字都成問題的話,那你學習程式設計也會有問題。尤其是,如果你連程式原始碼中的那些奇怪字元都敲不出來的話,就更別提程式設計了。如果沒有這些基本技能,你連最基本的軟體工作原理都難以學會。

手動錄入程式碼樣例並讓它們執行起來的過程,會讓你學會各種符號的名稱,熟悉它們的錄入,最終讀懂程式語言。

注重細節

區分好程式設計師和差程式設計師的最重要的一個方面就是對細節的重視程度。事實上,這是任何行業區分好壞的標準。如果缺乏對工作中每一個微小細節的注意,你的工作成果將不可避免地出現各種關鍵缺陷。從程式設計這一行來講,你得到的結果將會是毛病多多而且難以使用的軟體。

通讀本文並一字不差地錄入書中的每個例子,會訓練你在做某件事時把精力集中到自己正在做的事情的細節上。

發現不同

大多數程式設計師長年累月地工作會培養出一種重要的技能,那就是觀察事物間不同點的能力。有經驗的程式設計師拿著兩段僅有細微不同的程式碼,可以立即指出裡邊的不同點來。程式設計師甚至發明工具來讓這件事更加容易,不過我們不會用這些工具。你要先用笨辦法訓練自己,然後再使用這些工具。

在做這些習題並且錄入每段程式碼的時候,你一定會犯錯,這是不可避免的,即使有經驗的程式設計師也會偶爾出錯。你的任務是把自己寫的東西和正確答案對比,把所有的不同點都修正過來。這樣的過程可以讓你對程式裡的錯誤、bug以及其他問題更加敏感。

少瞅多問

只要是寫程式碼,就會寫出“bug”(蟲子)來。“bug”是你寫的程式碼中的缺陷、錯誤或者問題。據說早年有一次有人的計算機工作異常,檢查後發現是一隻蛾子飛到計算機裡導致的,於是後來人們就把計算機的問題稱為bug了。要修復計算機的問題,就需要對它進行“除蟲”,這也是除錯(debug)一詞的來歷。在軟體的世界裡,bug簡直不計其數,真的是太多了。

和那隻蛾子一樣,你的bug會藏在程式碼中,而你需要把它們找出來。別以為盯著螢幕上的程式碼看,“蟲子”就會自己爬出來了,你需要更多資訊才能找到它們,你需要站起來,挽起袖子找“蟲子”。

要找“蟲子”,你需要拷問你的程式碼,問它究竟發生了什麼,或者你需要站在不同的角度去看程式碼。在本書裡我多次提到“少瞅多問”,我演示瞭如何讓程式碼“坦白交代”自己幹了什麼,如何把拷問的結果變成解決問題的方案。我還演示了各種不同的理解程式碼的方式,從而讓你獲得更多資訊和洞察力。

不要複製貼上

你必須手動將每個習題錄進去,複製貼上會讓這些習題變得毫無意義。這些習題的目的是訓練你的雙手和大腦思維,讓你有能力讀程式碼、寫程式碼和觀察程式碼。如果你複製貼上的話,就是在欺騙自己,而且這些習題的效果也會大打折扣。

使用視訊教程

書附帶的視訊解釋了程式碼的工作原理,以及(更重要的)破壞程式碼的方法。視訊中故意破壞了程式碼,再展示修復程式碼的方法,通過這樣的方式,演示了很多常見錯誤。還使用了除錯和拷問的手段講解程式碼。視訊裡演示了“少瞅多問”的思路。

關於堅持練習的一點提示

你通過本書學習程式設計時,我正在學習彈吉他。我每天至少訓練2小時,至少花1小時練習音階、和絃、琶音,剩下的時間用來學習音樂理論和樂曲演奏、訓練聽力等。有時我一天會花8小時來學習吉他和音樂,因為我覺得這是一件有趣的事情。對我來說,要學習一樣東西,最自然、最根本的方法就是反覆地練習。我知道,要學好一種技能,每日的練習是必不可少的,就算哪天的練習沒啥進展(對我來說是常事),或者說學習內容實在太難,你也不必介意。只要堅持嘗試,總有一天困難會變得容易,枯燥也會變得有趣。

在我寫《“笨辦法”學Python》和《“笨辦法”學Ruby》這兩本書之間的那段時間,我對繪畫產生了興趣。在39歲的時候喜歡上了視覺藝術,然後就跟以前學吉他、音樂、程式設計的時候一樣,每天學繪畫。我搜集了諸多入門教材,照著書上的去做,每天都畫一些東西,並且享受著學習的過程。我離“藝術家”還差得很遠,甚至連“畫得好”都談不上,不過現在我可以說我是“會畫畫”的了。在學習藝術的過程中,我用的就是本書教你程式設計的方法。只要將問題拆分成小的練習和課程,你就可以學會任何東西。只要集中精力慢慢提高,享受學習的過程,不管你最終學到什麼程度,你都會從中獲益的。

通過本書學習程式設計的過程中要記住一點,就是所謂的“萬事開頭難”,對於有價值的事情尤其如此。也許你是一個害怕失敗的人,一遇到困難就想放棄;也許你一直沒學會自律,一遇到“無聊”的事情就不想上手;也許因為有人誇你“有天分”而讓你自視甚高,不願意做這些看上去很笨拙的事情,怕有負你“天才”的稱號;也許你太過激進,把自己跟像我這樣有20多年經驗的程式設計老手相比,讓自己失去了信心。

不管是什麼原因,你一定要堅持下去。如果遇到做不出來的鞏固練習,或者遇到一個看不懂的習題,你可以暫時跳過去,過一陣子回來再看。程式設計中有一件經常發生的怪事就是,一開始你什麼都不懂,這會讓你感覺很不舒服,就像學習人類的自然語言一樣,你會發現很難記住一些詞語和特殊符號的用法,而且會經常感到很迷茫,直到有一天,忽然一下子你就豁然開朗,以前不明白的東西忽然就明白了。如果你堅持完成並努力理解這些習題,你最終會學會這些東西的。也許你不會成為一位程式設計大師,但你至少會明白程式設計的原理。

如果你放棄的話,你會失去達到這個程度的機會。如果你堅持嘗試,堅持錄入習題,堅持弄懂習題的話,你最終一定會明白裡邊的內容的。如果你通讀了本書,卻還是不懂怎樣寫程式碼,你的努力也不會白費。你可以說你已經盡力了,雖然成效不佳,至少你嘗試過了,這也是一件值得驕傲的事情。

習題準備工作

這個習題並沒有程式碼,它的主要目的是讓你在計算機上安裝好 Python。你應該儘量照著說明進行操作,如果你不太能跟上書面教程,就去看看為你的平臺準備的視訊。

注意

如果你不知道怎樣使用Windows下的PowerShell,或者macOS下的Terminal(終端),或者Linux下的bash,那你就需要先學會一個。在繼續下面的習題之前,你應該先完成附錄中的練習。

macOS

完成這個習題你需要完成下列任務。

1.到https://www.python.org/downloads/release/python-360/下載“Mac OS X 64-bit/32-bit installer”。安裝過程和安裝別的軟體一樣。

2.用瀏覽器開啟https://atom.io/,找到並安裝Atom文字編輯器。如果你覺得Atom不合適,那就看看本習題最後的“可選文字編輯器”部分。

3.把Atom(文字編輯器)放到Dock中,這樣你可以方便地找到它。

4.找到系統中的Terminal程式。到處找找,你會找到的。

5.把Terminal也放到Dock裡面。

6.執行Terminal程式,這個程式沒什麼好看的。

7.在Terminal裡執行python3.6。執行的方法是鍵入命令的名字再敲一下回車鍵。

8.鍵入quit()後按回車鍵,退出python3.6。

9.這樣你就應該退回到鍵入python3.6前的提示介面了。如果沒有的話,自己研究一下為什麼。

10.學著在Terminal上建立一個目錄。

11.學著在Terminal上變到一個目錄。

12.使用編輯器在你進入的目錄下建立一個檔案。新建一個檔案,使用“儲存”(Save)或者“另存為”(Save As...)選項,然後選擇這個目錄。

13.使用鍵盤切換回Terminal視窗。

14.回到Terminal,用ls命令列出目錄來看你新建的檔案。

macOS:應該看到的結果

下面是我在自己計算機的Terminal中完成上述步驟時看到的內容,和你看到的結果可能會有一些不同,但應該是相似的。​

​Windows

1.用瀏覽器開啟 https://atom.io,下載並安裝Atom文字編輯器。這個操作無須管理員許可權。

2.把Atom放到桌面或者快速啟動欄,這樣就可以方便地訪問它了。這兩條在安裝選項中可以看到。如果你的計算機速度不夠快,無法執行Atom,就去看看本習題結尾的“可選文字編輯器”部分。

3.從開始選單執行PowerShell。你可以使用開始選單的搜尋功能,鍵入名稱後敲回車鍵即可執行。

4.為它建立一個快捷方式,放到桌面或者快速啟動欄中以方便使用。

5.執行PowerShell程式(後面我會叫它終端),這個程式沒什麼好看的。

6.到https://www.python.org/downloads/release/python-360/下載並安裝Python 3.6。記得勾選“Add Python 3.6 to PATH”,將Python 3.6新增到系統路徑。

7.在PowerShell終端中執行python。執行的方法是鍵入命令的名字再敲一下回車鍵。如果沒有執行起來,那你需要重新安裝Python,安裝時記得勾選“Add Python 3.6 to PATH”選項。字比較小,要仔細看。

8.鍵入quit()後按回車鍵,退出python。

9.這樣你就應該退回到敲python前的提示介面了。如果沒有的話,自己研究一下為什麼。

10.學著在PowerShell上建立一個目錄。

11.學著在PowerShell上變到一個目錄。

12.使用編輯器在你進入的目錄下建立一個檔案。新建一個檔案,使用“儲存”或者“另存為”選項,然後選擇這個目錄。

13.使用鍵盤切換回PowerShell視窗。

14.回到PowerShell,列出目錄來看你新建的檔案。

從現在開始,如果我提到終端(terminal)或者shell,我指的就是PowerShell。要執行Python 3.6,只要執行python命令即可。

Windows:應該看到的結果​

​你看到的內容不一樣也沒關係,大體相似就可以了。

Linux

Linux系統可謂五花八門,安裝軟體的方式也各有不同。既然你是Linux使用者,我就假設你已經知道如何安裝軟體包了,下面是操作說明。

1.使用你的Linux包管理器安裝Python 3.6。如果不能安裝,就去https://www.python.org/ downloads/release/python-360/下載原始碼並進行構建。

2.使用你的Linux包管理器安裝Atom文字編輯器。如果你覺得Atom不合適,那就看看本習題最後的“可選文字編輯器”部分。

3.把Atom(文字編輯器)放到視窗管理器顯見的位置,以方便日後使用。

4.找到Terminal程式。它的名字可能是GNOME Terminal、Konsole或者xterm。

5.把Terminal也放到你的Dock裡面。

6.執行Terminal程式,這個程式沒什麼好看的。

7.在Terminal程式中執行python3.6。執行的方法是鍵入命令的名字再敲一下回車鍵。如果沒有python3.6命令,那就試試只鍵入python。

8.鍵入quit()後按回車鍵,退出python。

9.這樣你就應該退回到敲python前的提示介面了。如果沒有的話,自己研究一下為什麼。

10.學著在Terminal上建立一個目錄。

11.學著在Terminal上變到一個目錄。

12.使用你的編輯器在你進入的目錄下建立一個檔案。典型步驟是,新建一個檔案,使用“儲存”或者“另存為”選項,然後選擇這個目錄。

13.使用鍵盤切換回Terminal視窗,如果不知道怎樣使用鍵盤切換,你可以自己查一下。

14.回到Terminal,列出目錄來看你新建的檔案。

Linux:應該看到的結果​

​你看到的內容不一樣也沒關係,大體相似就可以了。

網上搜索

本書最主要的一部分內容是學會在網上研究程式設計主題。我會告訴你讓你“在網上搜一下這個”,你的任務就是用搜索引擎尋求答案。我讓你搜索而不是直接告訴你答案的原因是,我想讓你成為一個具有獨立學習能力的人,這樣當你學會後就不需要回來看這本書了。如果你能在網上找到你的問題的答案,那麼你就離獨立學習更近了一步,這也是我的目標。

多虧了Google之類的搜尋引擎,你可以很容易找到我要你找的答案。如果我說讓你“上網搜尋一下python的列表函式”,你只要像下面這樣做就可以了。

1.訪問google官方網站。

2.鍵入“python 3 列表 函式”。

3.閱讀列出的網頁,找到最佳答案。

給新手的告誡

你已經完成了這個習題。根據你對計算機的熟悉程度,這個習題對你而言可能會有些難。如果你覺得有難度的話,你要自己克服困難,多花點兒時間去讀書研究,因為只有你會這些基礎操作,程式設計對你來說才不會太難學。

如果有人讓你中途停止或者跳過本書的某些習題,你應該就當沒聽到。任何企圖不讓你學到某些東西的人,或者更惡劣的,企圖讓你通過他們而非通過自己努力獲取知識的人,都是企圖讓你依賴他們來獲取知識。別聽他們的,好好做你的習題,這樣你就能學會如何自學了。

總有一天你會聽到有程式設計師建議你使用macOS或者Linux。如果他喜歡字型美觀,他會告訴你弄一臺Mac計算機,如果他們喜歡操控而且留了一臉大鬍子,他會讓你安裝Linux。這裡再次向你說明,只要是一臺手上能用的計算機就可以了。你需要的只有3樣東西:一個文字編輯器,一個命令列終端,還有Python。

最後要說的是,這個習題的準備工作的目的就是讓你可以在以後的習題中順利地做到下面幾件事。

1.撰寫習題的程式碼。

2.執行你寫的習題程式碼。

3.程式碼被破壞的時候修正程式碼。

4.重複上述步驟。

其他的事情只會讓你更困惑,所以還是堅持按計劃進行吧。

可選文字編輯器

文字編輯器對程式設計師很重要,但初學者只要使用簡單的程式設計師的文字編輯器就可以了。這些編輯器和寫文章用的編輯器不一樣,它們為寫程式碼提供了很多專門的功能。我在書中推薦了Atom,因為它是免費的,而且幾乎可以在所有平臺上使用。不過,也許Atom在你計算機上不好用,那你可以試試下面這些編輯器。​

這些編輯器是按專案“健康程度”排列的。也許其中一些專案將來會被開發者拋棄而死掉,或者哪天就不支援你的計算機了。如果你試了一個,發現不工作,那就試試另一個。“支援平臺”中有的列了多項,也是按支援的成熟度排列的,所以如果你用Windows,那就看看“支援平臺”一列中Windows排在最前面的編輯器。

如果你會用Vim或者Emacs,那就用它們。如果你從來沒用過,就避開它們。也許會有程式設計師勸你使用Vim或者Emacs,但這隻會讓你偏離軌道。你的目標是學習Python,而不是學習Vim或者Emacs。如果你試了Vim,發現沒法退出,就鍵入:q!或者ZZ。如果有人讓你用Vim,但連這都沒告訴你,你現在應該知道為什麼他們的話不能聽了。

學習本書過程中不要使用整合開發環境(IDE)。依賴IDE的結果就是沒法使用新的程式語言,因為你要等著企業賣給你一個支援這門語言的IDE,但除非已經有了眾多人在使用這門語言,否則企業是不會為它開發IDE的。如果你有信心使用Vim、Emacs、Atom之類的程式設計師的文字編輯器寫程式碼,那你就不必等待第三方推出IDE了。儘管有些場合下IDE也不錯,比如針對已有的龐大程式碼庫,但如果用IDE上了癮,你的個人前途就會受限。

另外你也不應該使用IDLE。它功能極其有限,而且作為軟體本身質量也不太好。你只需要一個簡單的文字編輯器、一個命令列終端和一個Python就夠了。

​《“笨辦法學”Python3》

Zed Shaw 著

京東購書     噹噹購書

本書是基於Python 3.6版本編寫的。百萬粉絲程式設計師帶你輕鬆入門Python語言!

手機掃碼看視訊,學習更輕鬆!5小時的完整視訊教程,純美式發音,搭配中文字幕,邊看邊練兩不誤;52個精心設計的程式設計習題,拒絕拖沓,提供專案案例,學以致用不務虛。

本書是一本Python入門書籍,適合對計算機瞭解不多,沒有學過程式設計,但對程式設計感興趣的讀者學習使用。這本書以習題的方式引導讀者一步一步學習程式設計,從簡單的列印一直講到完整專案的實現,讓初學者從基礎的程式設計技術入手,最終體驗到軟體開發的基本過程。

你對本書的看法?為什麼?截止時間6月15日17時,留言+轉發本活動到朋友圈,小編將抽獎選出3名讀者贈送紙書1本和2張e讀版80元非同步社群代金券,(留言點贊最多的自動獲得一張)。​

​​推薦閱讀

​長按二維碼,可以關注我們喲

每天與你分享IT好文。

在“非同步圖書”後臺回覆“關注”,即可免費獲得2000門線上視訊課程

點選閱讀原文,購買《“笨辦法”學Python 3》

閱讀原文