在我們學習任何一門語言的時候,我們都恨不得有一本書或者有一節視頻就能讓我們學會所有內容,或者購買的書籍裡能包含練習題,帶著練習學習的話會更好的理解內容,Python程式語言的話題熱度目前來看一直居高不下,很多沒有程式語言基礎的也開始學起來。
此時的我們面臨很大的一個問題,我沒有程式語言基礎,也沒有接觸過Python,那麼此時我們需要一本適合自己的書籍。
那麼今天我們就來介紹一本書《「笨辦法」學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多年經驗的編程老手相比,讓自己失去了信心。
不管是什麼原因,你一定要堅持下去。如果遇到做不出來的鞏固練習,或者遇到一個看不懂的習題,你可以暫時跳過去,過一陣子回來再看。編程中有一件經常發生的怪事就是,一開始你什麼都不懂,這會讓你感覺很不舒服,就像學習人類的自然語言一樣,你會發現很難記住一些詞語和特殊符號的用法,而且會經常感到很迷茫,直到有一天,忽然一下子你就豁然開朗,以前不明白的東西忽然就明白了。如果你堅持完成並努力理解這些習題,你最終會學會這些東西的。也許你不會成為一位編程大師,但你至少會明白編程的原理。
如果你放棄的話,你會失去達到這個程度的機會。如果你堅持嘗試,堅持錄入習題,堅持弄懂習題的話,你最終一定會明白裡邊的內容的。如果你通讀了本書,卻還是不懂怎樣寫代碼,你的努力也不會白費。你可以說你已經盡力了,雖然成效不佳,至少你嘗試過了,這也是一件值得驕傲的事情。
《「笨辦法學」Python3》
作者:澤德 A. 肖(Zed A.Shaw)是《「笨辦法」學Python》《「笨辦法」學Ruby》《「笨辦法」學C語言》等幾本備受歡迎的圖書的作者
掃碼查看書籍詳情
本書是基於Python 3.6版本編寫的。百萬粉絲程式設計師帶你輕鬆入門Python語言!
手機掃碼看視頻,學習更輕鬆!5小時的完整視頻教程,純美式發音,搭配中文字幕,邊看邊練兩不誤;52個精心設計的編程習題,拒絕拖沓,提供項目案例,學以致用不務虛。
本書是一本Python入門書籍,適合對計算機了解不多,沒有學過編程,但對編程感興趣的讀者學習使用。這本書以習題的方式引導讀者一步一步學習編程,從簡單的列印一直講到完整項目的實現,讓初學者從基礎的編程技術入手,最終體驗到軟體開發的基本過程。