很高興的告訴您,自學完全有可能的。首先您有一顆學好的心。然后在此基礎之上,可以找一些學習資料學習,比如我自己經常去的51 自學,慕課網,我贏職場等在線教育類網站,這些網站都有一些免費的學習課程,自己選擇即可。只要耐心仔細的看完課程一般都可以學會。
編程獅已經擁有了超過200萬的注冊學員,根據我們對用戶的調查和回訪,發現零基礎的初學者,在選擇看什么視頻、什么書時,有很多“奇怪”的需求。
學習編程,不像學習excel,學一兩天立馬就能用,學個個把月,連市面上一些很簡單的app都寫不出來很正常。但零基礎的同學,恨不得今天學,明天就能寫出一個可以運行的游戲出來。
這就要求零基礎入門的教材,要有如下特征:
1.不能太系統
越是系統的教材,知識點越細,也越多,如果能完全精通,并且學會使用,絕對是大神一般的存在。
但是,系統性很強的教材,對初學者來說,簡直就是噩夢。因為這意味著學得慢,反饋鏈就長,可能學了幾個月,都寫不出什么東西出來。學沒兩天,可能就放棄了。而且系統性強的教材,包含了很多冷門的知識,基本上用不到。
當然,系統性太強的教材,不適合初學者,不意味著教材一點系統性都沒有,起碼最基本的知識要有,常用的、熱門的東西不能丟。
2.即學即用
不要有太多的理論知識,最好今天學,今天立馬能寫出一個程序,并且能夠成功運行。對于初學者而言,學習編程不是為了做什么研究,主要是為了“能用”。
所以這本書,要搭配很多實例,最好課后還有一些“小任務”,學完一個小節后,立馬能動手,獨立寫出一個程序出來。
學一點知識,就能馬上用到,才能有繼續學下去的動力和興趣。
3.大白話風格
對新手而言,最怕碰到一些晦澀難懂的專業術語,如果這本書不給解釋,或者解釋得模棱兩可的,那么無疑會給接下去的內容學習,造成很大的障礙,日積月累,只能死記硬背,學習編程感覺越來越難,越來越沒動力,最后放棄。
所以,這本書不應該涉及太多的專業名詞,涉及到的一些計算機詞匯,也能給出通俗易懂的解釋。
按照以上的標準,編程獅推薦以下這基本Python入門書籍,每一本書都非常有特點,大家可以根據自己的需求選擇。
因為Python2已經停止維護,我們推薦的書籍全部都是Python3的書籍哦。
笨辦法學Python這本書非常除名,且很有特色,由Zed A.Shaw編寫。Zed A.Shaw創造了一個非常有效的Python3學習體系。
這本書將Python的所有知識點轉化成了習題,只要初學者按照書本的指示,編寫代碼,就能很快掌握Python。
在學習編程的時候,初學者最怕代碼運行錯誤,又找不到方法解決,而這本書在每個知識點后,都羅列了很多初學者容易碰到的問題,卡殼現象很少會出現,此外,每一個知識點都附帶了一個二維碼,掃碼可以觀看對應的視頻講解,它還內置了很多練習和實例。
《笨辦法學Python》是一本以實戰為導向的書籍,適合在有電腦,可以自己寫代碼的時候學習使用。如果不能邊學邊寫代碼,學習效果很差。這本書只能按順序學習,不能翻閱,如果哪個知識點忘記了,很難查到,建議配合網上的Python手冊學習。(也可以搭配編程獅的Python手冊)
Head First Python這本書最大的特點,就是可以像看小說一樣,學習Python。它可能是所有Python書籍最厚的,但同時也是翻得最快的,其他書籍,一頁可能要看半小時,但這本書半小時你可以看十頁...
《Head First Python》常常伴有大量的圖片和代碼講解,有時候甚至還會用對話的形式講解知識點,非常有趣。
Python編程 從入門到實踐上到有編程基礎的程序員,下到10歲少年,想入門Python并達到可以開發實際項目的水平,這本書是首選。
《Python編程 從入門到實踐》前半部分講解基礎知識點,后半部則講解如何開發三個項目,很注重基礎和實戰的一本書籍。
購書注意事項因為技術類的書籍,更新換代很快,買書的時候,一定要看出版時間,出版日期越新越好。
比如上面推薦的三本書籍,都是銷量非常好的,因此印了很多版,注意別買到老版的哦。
Python目前有兩大版本,一個是Python2,一個是Python3。書上說的Python3.5或者Python3.7,指的是Python3的一個小版本,不影響學習,但切忌不要買到Python2.x的,Python2和Python3在語法上是有區別的,并且不兼容。
國內的放在文章下面,第一部分推薦國外的書,是Treehouse在Facebook和Twitter做了一項問卷調查。
最終,最受程序員推薦的前25本書。(沒有什么特別的順序。)
并把書分成五類:General Programming(通用程序設計)、HTML & CSS、JavaScript & jQuery、Python、其他。
General Programming(通用程序設計)
1、《代碼整潔之道》(Clean Code: A Handbook of Agile Software Craftsmanship)
《代碼整潔之道》應該很多看書的程序員都有聽過,簡直是寫出干凈代碼的一劑良藥,并且Robert C. Martin在寫這本書中也有很多工作之中能用得到的操作實踐旨在幫助開發者編寫出干凈的代碼,從而有效提升代碼質量。
2、《代碼大全》
本書幾乎涵蓋了軟件開發過程中的各方面,工作學習中的查閱寶典。
3、《Think Like a Programmer》
本書旨在教讀者如何系統地解決問題,書中提供大量的技術和示例,但是這本書不會告訴任何人在特定的環境下該做什么,而是培養讀者解決問題的能力,讓他們用程序員思維去突破每一個難題。(聽書名仿佛是有人要改行一樣)
4、《編碼》
這本書被描述為不懂計算機的人都能看得懂,看評分就知道這本書有多友好了,但這并不是說本書的知識十分淺顯,相反地,作者通過一種巧妙的方式,完整介紹了計算機的原理和應用,讓讀者充分理解軟件和硬件的區別。
5、《Starting Out with Programming Logic & Design 》
本書是一本介紹性編程手冊,旨在讓沒有任何編程經驗的人,學習編程的概念和邏輯,書中沒有涉及太多的語言語法,更能增加新手學習編程的信心。(打底子,基礎很重要。)
6、《Beginning Programming All-In-One Desk Reference For Dummies 》
本書也是一本非常好的編程入門書。在這個實用指南中,讀者將了解到編譯、算法、最佳實踐、調試程序等概念。
7、《Cracking the Coding Interview》
本書是適合硅谷技術面試的一本面試指南,因為題目分類清晰,風格比較靠譜,所以廣受推崇。(畢竟這是美國的調查,所以是硅谷的面試。)
8、《第一本書系列》(Java,Python,設計模式,JavaScript,C#,WordPress,Rails)
一共有很多本書,這里就寫出兩本,基本每個方面都會出一本。
HTML & CSS
9、《HTML & CSS設計與構建網站》
(圖片上傳一直失敗)
本書采用有別于許多傳統編程書籍的新穎編排方式,指導讀者如何構建出用戶友好、令人賞心悅目的Web內容
10、《Head First HTML and CSS》
(圖片上傳一直失敗)
head first系列作為初學者入門最合適不過,這本書展示了學習創建符合工業標準的Web頁面的完整歷程,讓學會HTML和CSS來創建你想要的Web頁面。
11、《You Don't Know JS》
本書旨在為那些變成新手,提供了學習JavaScript必要的背景知識,一共分為上、中、下三卷,上圖為中卷,本系列書籍介紹了學習編程的基本構建模塊,以及JavaScript的核心機制。
12、《JavaScript編程精解(第2版)》
覆蓋了JavaScript的絕大多數語言特性,涉及Web編程和Node.js服務器編程,以及JavaScript性能優化等。
13、《Head First JavaScript程序設計》
本書內容涵蓋JavaScript的基本知識以及對象、函數和瀏覽器文檔對象模型等高階主題。書中配備了大量有趣的實例、圖示和練習,讓讀者輕輕松松掌握JavaScript。
14、《JavaScript & jQuery》
這本彩色書籍采用了一種視覺方法來講述JavaScript和jQuery,向讀者展示了如何通過使用代碼示例、信息圖形和攝影作品使web頁面更具交互性和讓界面更直觀。
15、《JavaScript高級程序設計(第3版)》
全書從JavaScript 語言實現的各個組成部分——語言核心、DOM、BOM、事件模型講起,深入淺出地探討了面向對象編程、Ajax 與Comet 服務器端通信,HTML5 表單、媒體等內容,還介紹了離線應用和與維護、性能、部署相關的最佳開發實踐。
16、《JavaScript忍者秘籍(第2版)》
本書適合具備一定JavaScript基礎知識的讀者閱讀,書中分4個部分,從不同層次講述了逐步成為JavaScript高手所需的知識。
17、《Javascript: Javascript Programming The Ultimate Beginners Guide》
本教程是為javascript初學者準備的,幫助他們理解javascript構建動態web頁面和web應用程序的基本功能,但我覺得不太行。也可能是因為我比較垃圾。
Python
18、《笨方法學Python 3》
本是一本入門的python學習書籍,書中的內容以52個exercise構成,按照由易到難、循序漸進的方式,一步一步引導讀者深入python。
19、《流暢的Python》
從語言設計層面剖析編程細節,兼顧Python 3和Python 2,教你寫出風格地道的Python代碼。
20、《Python編程:從入門到實踐》
本書是一本針對所有層次的Pytho入門書。第一部分側重基本概念的講解,第二部分通過開發三個項目,幫讀者解決編程中的問題與困惑。(我最推薦這本用來入門。)
21、《Python編程快速上手》
本書是一本面向實踐的Python編程實用指南。本書的目的,不僅是介紹Python語言的基礎知識,而且還通過項目教應用這些知識和技能。
其他
22、《程序員修煉之道》
本書涵蓋的主題從個人責任、職業發展,直到用于使代碼保持靈活、并且易于改編和復用的各種架構技術,利用許多富有娛樂性的奇聞軼事、有思想性的例子及有趣的類比,全面闡釋了軟件開發的許多不同方面的最佳實踐和重大陷阱。
23、《iOS Programming: The Big Nerd Ranch Guide 》
ios的,在這只提一提吧。
24、《Java How to Program, Early Objects》
價格拒絕,極其不友好。
25、《指導生活的算法: 人類決策的計算機科學》
從尋找配偶到尋找停車位,從整理收件箱到展望未來,這些算法將計算機科學的智慧轉化為人類的生存策略。很有趣的一本書。
中國版本前面先按照自己的愛好來推薦,然后按照網上推薦率。
這本書是從數據挖掘的應用點出發的;有電力、航空、醫療、互聯網,生產制造還有公共服務的各種行業的真是案例為主寫的、主要介紹了python數據挖掘建模的過程,好在實踐性很強,并且行業領域很多。個人認為重點就在于,先是以某個行業的挖掘需求為前提,有很好的代入感。就是帶著看到需求,教你如何解決需求。
上面這本書,是一本知識點很全的入門書籍。這個前期作為入門很好的點在于,里面有配套光盤,并且還有配套課程,就是這個知識點的所有課程有視頻講解。有的時候死看書,看不下去,并且在學習的時候遇到問題沒辦法解決。但是配套視頻就很好的解決了。前期可以作為入門書籍,后期的話可以作為工具書。哪里忘了看哪里。
python文本分析這本書,也是入門數據。從自然語言開始到python的基礎,從而深一步的學習分析理念和機器學習的概念。很全面的提供技術和概念。里面包含了豐富的實際案例,比如構建分類新聞文章的文本系統,使用主題建模和文本摘要分析app還有游戲評論。還有就是熱門電影概要的聚類分析等等。里面也有基于python和流行nlp開源庫和文本分析的工具等等。
還有這本書,介紹就說了大量的時間案例教會我們如何python的庫高效的解決各樣的數據分析。優點在書中所講的是利用python進行數據控制,處理整理分析等方面的細節和藥店。主要就是我們都知道python有很多很好用的庫,但是我們不知道如何使用。而這本書就很好的解決了這個問。具體案例用具體的庫。重點就在于如何高效的使用python語言和豐富的庫。
這本書可以帶我們深入理解其底層算法和可用的優化方法。而且為我們很好的提供了機器學習的設計過程和堅實的基礎。能夠讓我們為特定問題建立制定機器學習模型。
上面這本書,建議在學懂python之后去看。首先書是谷歌高級軟件工程師結合自己的多年使用python的經驗,深入的討論如何提高python代碼的技巧,還有禁忌點還有豐富的時間經驗。之所以是學會了看,因為里面有很多使用的代碼示例來解釋他所謂的提高技巧的方法。并且有很多能夠改善代碼功能以及運行效率的習慣用法。再提高階段看這本書,會對碼農有更高一層的理解。
1、《代碼大全》 史蒂夫·邁克康奈爾推薦數:1684
“優秀的編程實踐的百科全書,《代碼大全》注重個人技術,其中所有東西加起來,就是我們本能所說的“編寫整潔的代碼”。這本書有50頁在談論代碼布局。” —— Joel Spolsky對于新手來說,這本書中的觀念有點高階了。到你準備閱讀此書時,你應該已經知道并實踐過書中99%的觀念。– esacSteve McConnell的原作《代碼大全》(第1版)是公認的關于編程的最佳實踐指南之一,在過去的十多年間,本書一直在幫助開發人員編寫更好的軟件。現在,作者將這本經典著作全新演繹,融入了最前沿的實踐技術,加入了上百個嶄新的代碼示例,充分展示了軟件構建的藝術性和科學性。McConnell匯集了來自研究機構、學術界以及業界日常實踐的主要知識,把最高效的技術和最重要的原理交織融會為這本既清晰又實用的指南。無論您的經驗水平如何,也不管您在怎樣的開發環境中工作,也無論項目是大是小,本書都將激發您的思維并幫助您構建高品質的代碼。《代碼大全(第2版))》做了全面的更新,增加了很多與時俱進的內容,包括對新語言、新的開發過程與方法論的討論等等。
2、《程序員修煉之道》推薦數:1504
對于那些已經學習過編程機制的程序員來說,這是一本卓越的書。或許他們還是在校生,但對要自己做什么,還感覺不是很安全。就像草圖和架構之間的差別。雖然你在學校課堂上學到的是畫圖,你也可以畫的很漂亮,但如果你覺得你不太知道從哪兒下手,如果某人要你獨自畫一個P2P的音樂交換網絡圖,那這本書就適合你了。—— Joel《程序員修煉之道:從小工到專家》內容簡介:《程序員修煉之道》由一系列獨立的部分組成,涵蓋的主題從個人責任、職業發展,知道用于使代碼保持靈活、并且易于改編和復用的各種架構技術,利用許多富有娛樂性的奇聞軼事、有思想性的例子及有趣的類比,全面闡釋了軟件開發的許多不同方面的最佳實踐和重大陷阱。無論你是初學者,是有經驗的程序員,還是軟件項目經理,《程序員修煉之道:從小工到專家》都適合你閱讀。
3、《計算機程序的構造和解釋》推薦數:916
就個人而言,這本書目前為止對我影響醉倒的一本編程書。《代碼大全》、《重構》和《設計模式》這些經典書會教給你高效的工作習慣和交易細節。其他像《人件集》、《計算機編程心理學》和《人月神話》這些書會深入軟件開發的心理層面。其他書籍則處理算法。這些書都有自己所屬的位置。然而《計算機程序的構造和解釋》與這些不同。這是一本會啟發你的書,它會燃起你編寫出色程序的熱情;它還將教會你認識并欣賞美;它會讓你有種敬畏,讓你難以抑制地渴望學習更多的東西。其他書或許會讓你成為一位更出色的程序員,但此書將一定會讓你成為一名程序員。同時,你將會學到其他東西,函數式編程(第三章)、惰性計算、元編程、虛擬機、解釋器和編譯器。一些人認為此書不適合新手。個人認為,雖然我并不完全認同要有一些編程經驗才能讀此書,但我還是一定推薦給初學者。畢竟這本書是寫給著名的6.001,是麻省理工學院的入門編程課程。此書或許需要多做努力(尤其你在做練習的時候,你也應當如此),但這個價是對得起這本書的。
4、《C程序設計語言》推薦數:774
這本書簡潔易讀,會教給你三件事:C 編程語言;如何像程序員一樣思考;底層計算模型。(這對理解“底層”非常重要)—— Nathan《C程序設計語言》(第2版新版)講述深入淺出,配合典型例證,通俗易懂,實用性強,適合作為大專院校計算機專業或非計算機專業的C語言教材,也可以作為從事計算機相關軟硬件開發的技術人員的參考書。《C程序設計語言》(第2版新版)原著即為C語言的設計者之一Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan合著的一本介紹C語言的權威經典著作。我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。原著第1版中介紹的C語言成為后來廣泛使用的C語言版本——標準C的基礎。人們熟知的“hello,world”程序就是由本書首次引入的,現在,這一程序已經成為所有程序設計語言入門的第一課。
5、《算法導論》推薦數:671
《代碼大全》教你如何正確編程;《人月神話》教你如何正確管理;《設計模式》教你如何正確設計……在我看來,代碼只是一個工具,并非精髓。開發軟件的主要部分是創建新算法或重新實現現有算法。其他部分則像重新組裝樂高磚塊或創建“管理”層。我依然夢想這樣的工作,我的大部分時間(>50%)是在寫算法,其他“管理”細節則留給其他人…… —— Ran Biron
經典的算法書,被亞馬遜網,《程序員》等評選為2006年最受讀者喜愛的十大IT圖書之一。算法領域的標準教材,全球多所知名大學選用MIT名師聯手鑄就,被譽為“計算機算法的圣經”編寫上采用了“五個一”,即一章介紹一個算法、一種設計技術、一個應用領域和一個相關話題。6、《重構:改善既有代碼的設計》推薦數:617
《重構:改善既有代碼的設計》清晰地揭示了重構的過程,解釋了重構的原理和最佳實踐方式,并給出了何時以及何地應該開始挖掘代碼以求改善。書中給出了70多個可行的重構,每個重構都介紹了一種經過驗證的代碼變換手法的動機和技術。《重構:改善既有代碼的設計》提出的重構準則將幫助你一次一小步地修改你的代碼,從而減少了開發過程中的風險。《重構:改善既有代碼的設計》適合軟件開發人員、項目管理人員等閱讀,也可作為高等院校計算機及相關專業師生的參考讀物。我想我不得不推薦《重構》:改進現有代碼的設計。—— Martin我必須承認,我最喜歡的編程語錄是出自這本書:任何一個傻瓜都能寫出計算機能理解的程序,而優秀的程序員卻能寫出別人能讀得懂的程序。—— Martin Fowler
7、《設計模式》推薦數:617
自1995年出版以來,本書一直名列Amazon和各大書店銷售榜前列。近10年后,本書仍是Addison-Wesley公司2003年最暢銷的圖書之一。中文版銷售逾4萬冊。就我而言,我認為四人幫編著的《設計模式》是一本極為有用的書。雖然此書并不像其他建議一樣有關“元”編程,但它強調封裝諸如模式一類的優秀編程技術,因而鼓勵其他人提出新模式和反模式(antipatterns),并運用于編程對話中。—— Chris Jester-Young
8、《人月神話》推薦數:588
在軟件領域,很少能有像《人月神話》一樣具有深遠影響力并且暢銷不衰的著作。Brooks博士為人們管理復雜項目提供了最具洞察力的見解。既有很多發人深省的觀點,又有大量軟件工程的實踐。本書內容來自Brooks博士在IBM公司System/360家族和OS/360中的項目管理經驗。該書英文原版一經面世,即引起業內人士的強烈反響,后又譯為德、法、日、俄中等多種語言,全球銷量數百萬冊。確立了其在行業內的經典地位。
9、《計算機程序設計藝術》推薦數:542
《計算機程序設計藝術》系列著作對計算機領域產生了深遠的影響。這一系列堪稱一項浩大的工程,自1962年開始編寫,計劃出版7卷,目前已經出版了4卷。《美國科學家》雜志曾將這套書與愛因斯坦的《相對論》等書并列稱為20世紀最重要的12本物理學著作。目前Knuth正將畢生精力投入到這部史詩性著作的撰寫中。這是高德納傾注心血寫的一本書。—— Peter Coulton
10、《編譯原理》(龍書)推薦數:462
我很奇怪,居然沒人提到龍書。(或許已有推薦,我沒有看到)。我從沒忘過此書的第一版封面。此書讓我知道了編譯器是多么地神奇絕妙。- DB
歡迎點贊加關注,老子愛你們。
你好,我是一位科技領域創作者,同時也是一名長期將Python作為自己主要使用的編程語言。如果提問者在學習Python過程中有疑問,非常歡迎向我提問。希望大家能夠共同進步!
推薦提問者閱讀:Python學習手冊第5版中文版,這本書會讓你對Python有一個全方位的了解,即有廣度又有深度。
其實網絡上有非常之多的Python教程,比如說提問者可以通過百度搜索關鍵字:Python教程 - 廖雪峰 或Python 基礎教程 | 菜鳥教程,這兩個網站的Python知識講的非常不錯。
如果提問者覺得文字沒有視頻教程更有吸引力的話。還可以在B站搜索Python教程,我想信你會找到你需要的東西。
祝您學有所成!