學習python有哪些好書和學習方法?
本人C++圖形程序員,想在工作之餘學習強大的python,有哪些書籍和建議可以深入學習這門編程語言
IDLE這麼好的學習工具,很多python程序員不是很熟練 選一本好書,在IDLE里敲打一番,不知不覺學會了
- Fluent Python
- Python Playground
- Introducing Python: Modern Computing in Simple Packages
個人推薦一些看過或看過一部分的:一、基礎:《Python簡明教程》二、提升:《Python核心編程》三:擴展:1、Web開發:
《Django Book》
《Flask Web開發:基於Python的Web應用開發實戰》2、數據採集:《Python網路數據採集》3、數據分析與挖掘:《利用Python進行數據分析》《Python數據分析》(英文版叫Python data analysis)《數據科學實戰(R+Python)》《Python數據分析與挖掘實戰》《Python數據可視化編程實戰》《利用Python進行自然語言處理》
四、方法:學習、模仿、實踐、重複百度廖雪峰吧!
官方文檔
入門基礎:
《Python核心編程》Python核心編程(第二版) (豆瓣)《Python學習手冊》Python學習手冊(第4版) (豆瓣)兩本都對基本的語法等有充分的說明,前者實戰部分有描述網路編程、多線程編程等,後者則更多地講述面向對象方面的知識。數據分析:
強烈推薦《利用Python進行數據分析》利用Python進行數據分析 (豆瓣)
假若題主還對機器學習感興趣,可選擇《機器學習實戰》機器學習實戰 (豆瓣)進行練手,通過實踐上手更快啊,相信之前進行C++開發的題主自己也有這樣的體會吧。至於網站開發/後台等沒有深入接觸,就等其他大牛補充吧~python培訓黃哥推薦的三本書下載:
像計算機科學家一樣思考Python Python編程實踐 Python核心編程(第2版)How to Think Like a Computer Scientist- Learning with Python 3
Practical Programming, 2nd Edition An Introduction to Computer Science Using Python 3Core Python Programming, 2nd Edition
從初學者成長為一名合格的程序員需要一段時間的磨練,每個人付出的時間和做事的效率不同,我不好評判你需要多長時間才能學有所成。站在求職的角度,能開發出實用的軟體、網站、APP等才叫學有所成。
如果你想選擇一種語言來入門編程,那麼Python絕對是首選!其非常接近自然語言,精簡了很多不必要的分號和括弧,非常容易閱讀理解。編程簡單直接,更適合初學編程者,讓其專註於編程邏輯,而不是困惑於晦澀的語法細節上,比起JAVA、C#和C/C++這些編程語言相對容易很多。
簡單明了的理由當然是開發效率高。但是學習 Python 的初學者往往會面臨以下殘酷的現狀:
網上充斥著大量的學習資源、書籍、視頻教程和博客,但是大部分都是講解基礎知識,不夠深入;也有的比較晦澀,難以理解。
如果你真的想要高效地學習 Python,那就需要掌握如何過濾網上的垃圾教程資源的技能,並從其他有經驗的程序員或在線編程社區中獲得幫助。
去找一個實際項目練手。我當時是因為要做一個網站,不得已要學 python。這種條件下的效果比你平時學一門新語言要好很多。所以最好是要有真實的項目做。可以找幾個同學一起做個網站之類。注意,真實項目不一定非要是商業項目,你寫一個只是自己會用的博客網站也是真實項目,關鍵是要核心功能完整。
最好能找到一個已經會 python 的人。問他一點學習規劃的建議(上知乎也是個途徑),然後在遇到卡殼的地方找他指點。這樣會事半功倍。但是,要學會搜索,學會如何更好地提問。沒人願意幫你寫作業或是回答「一搜便知」的問題。
然而,別人的經驗未必能完全複製。比如我沒有說的是,在自學 python 之前,我已在學校系統學習過其他的編程語言。
對於完全沒有編程經驗的初學者,在學習 python 的時候,面對的不僅僅是 python 這門語言,還需要面臨「編程」的一些普遍問題,比如:
缺少計算機基礎知識,被一些教程略過的「常識性」問題卡住;
遇到問題不知道怎麼尋找解決方案;
看懂語法之後不知道拿來做什麼,學完一陣子就又忘了;
缺少數據結構、設計模式等編程基礎知識,只能寫出小的程序片段。
所以除了前面說的 3 點經驗,給初學編程者的額外建議:
首先要有信心。雖然可能你看了幾個小時也沒在屏幕上打出一個三角形,或者壓根兒就沒能把程序運行起來。但相信我,幾乎所有程序員一開始都是這麼折騰過來的。
選擇合適的教程。有些書很經典,但未必適合你,可能你寫了上萬行代碼之後再看它會比較好。
寫代碼,然後寫更多的代碼。光看教程,編不出程序。從書上的常式開始寫,再寫小程序片段,然後寫完整的項目。
推薦閱讀:
※編程在測繪工作的作用?
※什麼是編程的基本功?
※新手想玩硬體,買單片機還是樹莓派好呢?會一點點c?
※如何理解「程序=演算法+數據結構」這句話?
※上海交通大學 ACM 的 Dreadnought 隊伍怎麼這麼強?