當前位置:
首頁 > 科技 > 這本 Kindle 排名第一的 Python 3 入門書,火遍了整個編程圈!

這本 Kindle 排名第一的 Python 3 入門書,火遍了整個編程圈!

「大多數優秀的程序員從事編程工作,不是因為期望獲得報酬或得到公眾的稱讚,而是因為編程是件有趣的事兒。」

——林納斯·托瓦茲(Linus Torvalds)

在美國亞馬遜,有一本書的影響力超高的Python入門書,Kindle版本在美國亞馬遜網站的計算機軟體、軟體開發分類中排行均為第一,超越了眾多實力派Python書,眾多五星好評。也許你有所耳聞,這本書就是《Python編程無師自通——專業程序員的養成》。

《Python編程無師自通——專業程序員的養成》作者是一名自學成才的程序員,作為一名文科生他通過自學編程,掌握了編程技能並在eBay找到了一份軟體工程師的工作。這本書是作者結合個人經驗寫作而成,旨在幫助讀者從外行成長為一名專業的Python程序員。

這本書可以滿足幾乎所有想要學習編程的初學者。本書適合高中、大學階段想要自學編程的學生,以及其他行業想入門編程的人,同時也適合作為編程入門的培訓教材。

作者自述

剛開始,很多人學習的是如何用流行的編程語言Python來進行編程。

但是本書不僅是教你如何使用某種特定的語言編程,還會介紹標準教材中所不包括的其他所有知識點。本書分享的是我在成為軟體工程師過程中不得不自學的內容。不管你的目標是成為一名軟體工程師、企業家,還是在其他的崗位上使用編程技能,你都是本書的目標讀者。

學會一門編程語言還不夠,你還需要學會其他技能,才能像計算機科學家一樣地工作。我會教授大家我從編程新手到專業軟體工程師過程中學到的一切。我寫是為了向有志於編程崗位的人分享他們需要掌握的知識框架。編程概論的書籍都大同小異——用Python或Ruby介紹編程的基礎知識,然後就讓你自己摸索。我經常從讀完類似書籍的朋友那聽到這樣的反饋:我現在該做什麼?我還不是一名程序員,也不知道下一步該學什麼。

本書,就是我給出的答案。

本書結構

本書中涵蓋很多主題,作者的目標不是包羅你需要了解的每個主題的所有細節,而是提供一份指引——一個編程職業發展所需要的所有技能的導覽。

第一部分:編程簡介。讓你儘快寫出自己的第一個程序,最好在今天。

第二部分:面向對象編程簡介。這部分將介紹不同的編程範式,著重闡述面向對象編程。你會開發一個遊戲,體會編程的強大能力。讀完這部分後你會沉迷於編程。

第三部分:編程工具簡介。將介紹提升編程生產力的不同工具。這時,你已經沉迷於編程,並希望變得更好。你將會學習相關的操作系統、使用正則表達式提升效率、安裝並管理他人的程序,以及使用版本控制與其他工程師協作的知識。

第四部分:計算機科學簡介。將簡要介紹計算機科學知識,主要涵蓋兩個主題——演算法和數據結構。

第五部分:找到工作。最後一部分是關於最佳編程實踐,如何找到軟體工程師的工作,團隊協作以及程序員的自我提升。本文會分享如何通過技術面試與團隊協作的建議,以及如何進一步提升自己的技能。

從終點出發

一般來說,你會先花很多時間學習理論,理論知識學的太多以至於許多計算機科學的畢業生甚至不知道如何動手編程。傑夫·阿特伍德(Jeff Atwood),在其博客「為什麼程序員不會編程」中寫道:「和我一樣,許多人都碰到了這樣的情況,編程崗位的200位申請者中,有199個根本不會寫代碼。重申一遍:他們一點代碼都不會寫。」這種現象直接促使Atwood發明了FizzBuzz代碼挑戰,一種用來在面試中篩選申請者的編程測試。大部分人都通不過測試,這也是為什麼你要學習本書並掌握實踐中要使用到技能。

《王者之旅》電影中的主角喬什(Josh Waitzkin),在《學習的藝術》一書中回憶了他如何反向學習國際象棋。他沒有和其他人一樣研究開局,而是從學習象棋殘局。這樣做讓他對國際象棋有了更深的理解,並贏得了多次大賽冠軍。與此類似,先學習如何編程再學習理論的方法更高效,因為你會擁有了解背後原理的強烈驅動。雖然理論很重要,但是在你擁有了編程經驗之後,理論的價值才更大。

《王者之旅》電影截圖

你不是一個人在戰鬥

畢業後再學習編程,已經越來越常見。Stack Overflow(一個程序員在線社區)在2015年的一份調查中顯示,48%的受訪者不是計算機專業卻從事編程職業。

為什麼應該編程

不管你從事什麼工作,編程都有助於你的職業發展。學習編程將給你自己賦能。你喜歡嘗試新想法,時刻都有希望啟動的新項目。學會編程後,你就可以坐下來自己實現,而不需要依賴他人。

編程也會提升你在其他方面的技能。因為你熟練掌握了問題解決能力,鮮有其他工作不會因此而受益。如我最近要在網上租房,搜索並篩選房子是個非常費力的活兒。但是我寫了一個程序來代替我搜索,最後將結果以郵件形式發送給我。學會編程,將把你從重複性工作中解放出來。

如果你想成為軟體工程師,市場上對這類崗位的需求也日益增長,但是符合要求的候選者卻總是供不應求。到2020年,預計將有一百萬個編程崗位空缺。即使你的目標不是成為軟體工程師,科學和金融等領域的崗位也開始傾向那些擁有編程經驗的申請者。

堅持不懈

如果你之前沒有任何編程經驗,擔心自己無法勝任編程工作,但是你要相信自己:你完全有能力做到。人們對程序員有一些常見的誤解,比如程序員都得擅長數學。這是錯誤的印象,不過編程確實是一件困難的工作。幸運的是,本書涵蓋的內容將讓這一切變得比你想像得更加容易。

為了提高編程技巧,你應該每天練習編程。擋在你面前的唯一障礙就是無法堅持,所以我們要採取一些措施確保自己能夠堅持不懈。準備一張檢查清單,來確保每天都有做練習,而且也能夠幫助你保持專註。

如果你還需要其他幫助,效率專家Tim Ferris建議採用如下技巧來保持驅動力。事先給家人或朋友一筆錢,如果你在規定的時間內完成了目標,就讓他們把錢還給你,否則就將錢捐獻給你討厭的機構。

本書使用的技術

為了讓讀者儘可能的積累編程經驗,書中會介紹多種技術。在某些情況下,必須在許多不同的技術中做出選擇。我們將會學習Git的基礎知識。Git是一個流行的版本控制系統,選擇介紹Git是因為筆者認為它已經成為版本控制的業界標準。書中用Python來編寫大部分的編程示例,因為它是一門很流行的初學者語言,而且即使從來沒有使用過Python的人學習起來也比較簡單。此外,目前幾乎每個領域對Python開發者的需求都非常大。不過,會盡量做到內容與技術無關——注重概念,而非技術本身。

《Python編程無師自通——專業程序員的養成》

作者:[美] 科里?奧爾索夫(Cory Althoff)

《Python編程無師自通——專業程序員的養成》 每章結尾處都有術語表和挑戰練習,讓你更好地學習Python 3。

目錄一覽

第1章 概述

第2章 起步

第3章 編程概論

第4章 函數

第5章 容器

第6章 字元串操作

第7章 循環

第8章 模塊

第9章 文件

第10章 綜合練習

第11章 練習

第二部分 面對對象編程簡介

第12章 編程範式

第13章 面向對象編程的四大支柱

第14章 深入面向對象編程

第15章 綜合練習

第三部分 編程工具簡介

第16章 Bash

第17章 正則表達式

第18章 包管理器

第19章 版本控制

第20章 融會貫通

第四部分 計算機科學簡介

第21章 數據結構

第22章 演算法

第五部分 找到工作

第23章 最佳編程實踐

第24章 第一份編程工作

第25章 團隊協作

第26章 更多學習資料

第27章 下一步

此書正參加讀書月滿減優惠活動~

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

漫畫:什麼是加密演算法?

TAG:CSDN |