如何用三個月學會python?

零基礎,您要是問我學習目:我想學一門數據分析的語言,不敢說是謀生用,只是想掌握一種工具。沒事爬點有用的數據資料什麼的。

然後我手頭有一些教程,簡單看了下,感覺還能接收,但是我不知道我學這些有什麼用。因此我想邊用邊學,在用的過程中遇到問題解決問題。不知道各位朋友能不能給點建議。有沒有類似邊練習邊學習的方法。


一直以來,但凡是有基礎的人找我推薦書、課程學習 Python 入門,我都告訴他通過 Python 的官方文檔:

  • The Python Tutorial
  • The Python Standard Library
  • The Python Language Reference
  • Python HOWTOs - Python 2.7.14 documentation

但是對於沒有經驗的零基礎入門者,我一直都推薦 @廖雪峰 老師的 Python 教程:Python教程 - 廖雪峰的官方網站。對於零基礎初學者,具體入門需要多久得看自己的領悟能力和學習投入的精力,並不能保證「三個月學會」。不過對於「不敢說是謀生用,只是想掌握一種工具。沒事爬點有用的數據資料什麼的」的需求,肯定是可以滿足的。


如果做數據分析,可以借鑒一下下面這個路線圖,你想更深入了解學習Python知識體系,你可以看一下我們花費了一個多月整理了上百小時的幾百個知識點體系內容:

【超全整理】《Python自動化全能開發從入門到精通》筆記全放送

——正題開始:下面是Python的職業方向及學習路線圖:

Python崗位有哪些呢?主要的崗位有這些:

Python全棧開發工程師(10k-20K)

Python運維開發工程師(15k-20K)

Python高級開發工程師(15k-30K)

Python大數據工程師(15K-30K)

Python機器學習工程師(15k-30K)

Python架構師(20k-40k)

目前應用最多的:全棧開發、數據分析、運維開發,今天我們就以這三個重點的崗位來做一下自學Python的規劃,希望你在學之前就能有結果的來走得更遠。

在這裡我們建議大家用知識投資的《道、法、器、術、勢》五個工具來完美的執行和落地自學Python,好了,廢話不多書,我們來開始:

————————

第一:道——明確目標

其實很多人在學習Python之前很少想這個,因為很多人說:現在Python很火呀,所以我么需要學。這個其實跟你自己沒有什麼關係,例如:你曾經想做一個網站不會開發,現在可以做了,現在Python很火併且你也要學來找工作,未來Python很火,我具備了Python的技能會不錯。

在一生中,我們或多或少總會卡到目標上。在一些我們擅長的領域,我們會有明確的目標,並且積極指導別人:親!幹事之前,你要先定目標啊!

王健林的小目標,大家在朋友圈也都看過了,他會定先掙它一個億。

第二:法——做好你學習Python的系統規劃

1.目前市場需求主流的崗位里,你得選擇一個其中你目前看來可以學,並且最敢興趣學習的方向;

2.在方向選擇好後,對照招聘網站:拉勾、智聯、Boss直聘等網站的崗位要求,進行學習內容的統計與大概的記錄;

3.分模塊的計劃你學習這個模塊的時間和完成的大概目標;

4.列出你可能出現的學習誤差與為之準備的應對方案;

好了,你發現沒有,其實任何學習重要的不是有什麼資料,核心是如何學,學多久,有沒有時間限制,遇到過自己多次學習某個內容或者其他人學習某個內容,最關鍵的一點是在起步階段,開始屬於激情期,激情在前面釋放越多,後面的持續力就很弱,好了這就是關於學習計劃。

廢話說多了,那我們來看看一個普適性的學習Python的流程;

1天——下載並安裝好學習環境:到www.python.org網站上下載一個python3.0以上的版本。我建議初學者,不要下載具有IDE功能的集成開發環境,比如Eclipse插件等。

4周——下載一些python的學習文檔,比如《簡明Python教程》,《笨辦法學Python》等等。通過學習語法,掌握python中的關鍵字語法,函數語法,數學表達式、變數、數據結構、語法等等等

1. 了解Python是什麼,都能做些什麼?

2. 知道什麼是變數、演算法、解釋器

3. Python基本數據類型

4. 列表和元組的操作方法

5. 字元串操作方法

6. 基本的字典操作方法

7.任何知識它的基礎知識都是有些枯燥的,現在我們就可以動手來做一些邏輯層面的東西了。掌握 if、else、elif、while、for、continue、break和列表推導式等這些語句的使用,還有程序中的異常處理。

2周——看完基礎後,就是做一些小項目鞏固基礎,python具備很好的交互學習模式,對於書本上的例子我們可以通過交互平台進行操練,通過練習加深印象,達到學習掌握的目的。

2周——通過以上三個步驟的學習後,我們大致掌握了python的常用方法、關鍵字用法以及函數語法等。接下去的學習上,我們就可以著手學習常用模塊的使用, 比如os,os.path,sys,string模塊等。我們可以在交互環境中先熟悉使用其中的函數,如果遇到函數的使用上的問題,可以參考python 安裝後的自帶chm幫助文件。

2周——為了更好得掌握python,我們的學習不能只是停留在學習一些語法或者api階段。在此階段中,我們可以嘗試用python解決我們項目中遇到的一 些問題,如果項目不是用python開發的,那我們可以想想能不能用python製作一些項目組可以使用的一些工具(utility),通過這些工具簡化 項目組成員的任務,提高我們的工作效率。如果沒有項目,我們也可以自己找些題目來自己練習練習。

2周——Python庫是Python的精華所在,可以說Python庫組成並且造就了Python,Python庫是Python開發者的利器,所以學習Python庫就顯得尤為重要:

2周——經過以上鍛煉後,我們的python知識水平肯定是越來越高。接下去的學習,我們就要更上一層樓。為了學以致用,真正能應用於項目開發或產品開發,我 們還必須學習企業應用開發中必須要掌握的網路和資料庫的知識。在此的學習就不光是python語言本身的學習了,如果之前沒有學習和掌握很網路和資料庫知 識,在此階段我們可以藉此機會補習一把。

3周——到此階段,我們已經是真正入門了。在接下去的工作中,就是要快速地通過我們的所學來服務項目了。在此階段,我們除了掌握python自帶的模塊外,我 們最好在掌握一些業界廣泛使用的開源框架,比如twisted、peak、django、xml等。通過熟練使用它們,達到閃電開發,大大節省項目寶貴時間。

《Python 核心編程》,介紹了 Python 的一些具體領域的開發方法;

《Python 網路數據採集》,很簡單的爬蟲入門書;

《利用 Python 進行數據分析》,介紹了 Pandas 和 NumPy 的用法;

《Flask Web 開發》,如何用 Flask 寫一個博客。

第三:術——你具體的學習手段

1.每天你計劃學習多少時間?例如一天必須學2小時,每天堅持;

2.每個階段的計劃拖延時間不能高於多少時間?

3.如果一個階段不順利如何調整?

其實很多時候,並不是資料不夠多,而是本身的學習思路和計划出現了問題,那麼其實最後學習Python的結果會變成:懂得了很多道理,收集了很多資料,依然學不好Python。

第四:器——學習的工具和素材

在知乎的所有學習的評中,出來最多的就是書、視頻、網站一大堆,很多人覺得非常的贊,確實如此,但是回頭看,你的網盤裡躺著的500G視頻,還是沒有讓你學會Python,我給大家的建議是:少為多,學為多,做為多,完成為多,而不要做伸手黨。

在主流的學習中,按照學習素材來分,我們分為這幾大類:

——真人:有人給你準備好素材,過程計劃,內容,讓後你只要用心學就行,這個就是大家常說的培訓,屬於懶人成長式。(線下培訓班)

PS:不做任何推薦

——視頻:有人把學習的過程錄製好,你只要按照要求跟著做就行,出現問題你無法及時找到。(真人視頻、代碼視頻)

Python入門_Python入門教程_python入門視頻教程-慕課網

http://blog.fishc.com/category/python

https://ke.qq.com/course/134017#tuin=cd72585

——書本:有人把學習過程幫你寫出來,你只需要跟著書本的過程過就行,然後按照要求學習(實體書籍、電子書)

《簡明Python教程》

《笨辦法學Python》

https://learnpythonthehardway.org/

https://www.kancloud.cn/kancloud/python-basic

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

書籍推薦如下:

————————————————————————

下面我們推薦6本高分書籍給大家,希望大家學習愉快:

1.Python編程:從入門到實踐

豆瓣評分:8.8

內容簡介:本書是一本針對所有層次的Python 讀者而作的Python 入門書。全書分兩部分:第一部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumPy 和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內容;第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python 2D 遊戲開發如何利用數據生成互動式的信息圖,以及創建和定製簡單的Web 應用,並幫讀者解決常見編程問題和困惑。

豆瓣書友推薦:很好的入門書,簡潔全面,適合小白。learning python之類大磚頭太不友好。這本雖然有些地方講得不深入,但是對新手友好。

————————————————

2."笨辦法"學Python

豆瓣評分:8.0

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

Zed Shaw完善了這個堪稱世上最好的Python學習系統。只要跟著學習,你就會和迄今為止數十萬Zed教過的初學者一樣獲得成功。

這本書會讓你的每一分鐘投入都有回報。Python是世界上最強大、最受歡迎的編程語言之一,很快你就會成為一名Python程序員。

豆瓣書友推薦:花了一周的時間看完,在以前的基礎上零零碎碎學了一些新的東西,還算是有所收穫,但是前面講的很基礎很簡單,到ex40之後突然難度增加不是很懂在講些什麼。

————————————————

3.Python學習手冊

豆瓣評分:8.1

內容簡介:《Python學習手冊(第3版)》講述了:Python可移植、功能強大、易於使用,是編寫獨立應用程序和腳本應用程序的理想選擇。無論你是剛接觸編程或者剛接觸Python,通過學習《Python學習手冊(第3版)》,你可以迅速高效地精通核心Python語言基礎。讀完《Python學習手冊(第3版)》,你會對這門語言有足夠的了解,從而可以在你所從事的任何應用領域中使用它。

豆瓣書友推薦:用了兩周的時間將這本書啃了一下,還有200多頁的電子版沒看,但還是忍不住先來評論。既是總結自己,也想幫助別人。

本書總評:

優點:解釋詳細,例子豐富;關於Python語言本身的講解全面詳盡而又循序漸進不斷重複,同時詳述語言現象背後的機制和原理;除語言本身,還包含編程實踐和設計以及高級主題。

缺點:有些厚;翻譯不佳;代碼練習題很少;

————————————————

4.Python基礎教程

豆瓣評分:8.0

內容簡介:本書是經典教程的全新改版,作者根據Python 3.0版本的種種變化,全面改寫了書中內容,做到既能「瞻前」也能「顧後」。本書層次鮮明、結構嚴謹、內容翔實,特別是在最後幾章,作者將前面講述的內容應用到了10個引人入勝的項目中,並以模板的形式介紹了項目的開發過程。本書既適合初學者夯實基礎,又能幫助Python程序員提升技能,即使是 Python方面的技術專家,也能從書里找到令你耳目一新的東西。

豆瓣書友推薦:寫得挺生動親民的,很好的入門書。

————————————————

5.Python核心編程

豆瓣評分:8.0

內容簡介:學習專業的Python風格、最佳實踐和好的編程習慣;

·加強對Python對象、內存模型和Python面向對象特性的深入理解;

·構建更有效的Web、CGI、互聯網、網路和其他客戶端/伺服器架構應用程序及軟體;

·學習如何使用Python中的Tkinter和其他工具來開發自己的GUI應用程序及軟體;

·通過用C等語言編寫擴展來提升Python應用程序的性能,或者通過使用多線程增強I/0相關的應用程序的能力;

·學習Python中有關資料庫的API,以及如何在Python中使用各種不同的資料庫系統,包括MySQL、Postgres和 SQLite。

豆瓣書友推薦:了解Python語言方方面面的不錯選擇,雖然版本有些舊,對於較晚接觸Py的人來說,一個「副作用」是可以更多地了解Py的過去。

————————————————

6.流暢的Python

豆瓣評分:9.5

內容簡介:本書由奮戰在Python開發一線近20年的Luciano Ramalho執筆,Victor Stinner、Alex Martelli等Python大咖擔綱技術審稿人,從語言設計層面剖析編程細節,兼顧Python 3和Python 2,告訴你Python中不親自動手實踐就無法理解的語言陷阱成因和解決之道,教你寫出風格地道的Python代碼。

豆瓣書友推薦:非常好的python進階書,翻譯的也不錯,基本上沒有錯誤。協程和元編程死了一堆腦細胞。之前也看了不少文章宣傳py3,但看完這本才最終決定遷到py3。

————————————

——新聞:關於學習的碎片化的諮詢和知識,來用於你的個人成長(微信、知乎、諮詢流)

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

http://python.jobbole.com/

http://www.magedu.com/pythonxx

http://www.pythontab.com/

第五:勢——學習的心態和狀態

1.任何一個學習的過程,看起來很爽,但是做起來就未必了,老掉牙的堅持是必備的。

2.教程選擇一到兩個就OK了,不要求多;

3.多寫代碼,盡量讓代碼擼爽你;

4.盡量多出錯;

————————————

最後給大家貢獻個一月學會Python基礎開發的訓練計劃:

時間分為4周,全部自學,僅提供大綱,適用於Web方向:

1、第一周:讀完《笨辦法學Python》;

2、第二周:寫個爬蟲,需要深入了解re、sqlite3、Queue等幾個模塊,做個簡單爬取;

3、第三周:學習一種Web開發框架,推薦Flask、webpy、Django之類的,學個資料庫,寫個簡單的web應用如博客;

4、第四周:給博客做個小功能並走完測試和伺服器上架;

————————

以上為關於如何自學的一個流程,希望大家拍磚!


我也是零基礎學python的,我最開始看得是笨辦法學python,老老實實敲了半個月,並把章節把題目做完。然後就到網上把新手編程100例做完,差不多就可以去讀文檔了。爬蟲的話慕課網上北京理工的有個入門課程,上完了,至少靜態頁面能爬了,不過要有一丟丟的html和css的知識。然後數據分析到可視化python最經典的numpy、pandas、mataplotlib庫,也是讀文檔對照著實例做就好了。目前我在學C,最喜歡的事就是實現各種ADT,新手就是這麼容易滿足。同時也在看計算機原理、計算機系統還有網路的知識。實在是很好奇啊,是怎麼從底層硬體層層抽象封裝的。下一步打算看C++,共同加油,fighting!


『學會』這個概念太模糊。會寫 hello world 算不算學會?你肯定認為不算。那寫一個猜數字小遊戲算不算?能寫個腳本去福利站上抓圖算不算?能自己開發一個網站算不算?

如果以通常講的『入門』標準來看,三個月入門Python算是比較正常的速度,堅持業餘時間學看完一本教程即可。零基礎我推薦的書是《與孩子一起學編程》(新版名《父與子的編程之旅》),還有就是我自己寫的教程 Crossin的編程教室 - Python入門

我贊同你的觀點,如果你要學Python來做數據分析,首先你要有個儘可能具體的目標,比如就是需要去抓網上的機票的價格變動信息。否則就會出現我看了教程,似乎都懂了,但不知道這些有什麼用,越學疑問越多,然後停下來三個月全忘光。

對於零基礎、有目標的學習者,我建議的步驟:

  1. 找本淺顯的入門書,了解基礎,掌握最核心的代碼邏輯和數據結構。自己把書上的例子成功實現
  2. 開始嘗試去解決自己的目標問題,先解決最核心的功能。這個過程中要學會用搜索引擎和閱讀文檔來解決問題。這階段會比較痛苦,需要反覆地踩坑。還可能不斷要退回去補第1步的缺失。
  3. 完成基本功能後,開始嘗試在其之上增加擴展,以及體驗一些更強大的工具、模塊,完善這個項目。

三步走完,之後基本就可以舉一反三了。剩下的就是不斷地去寫更多的代碼,提升自己的技能。

最後具體到你提的『數據分析』,談談我個人的看法。現在這方面概念比較火,到處都在說Python說數據分析。我發現不少新手會有一個誤解:學了Python語言就掌握的數據分析的能力。儘管這個誤解會讓更多的人來學Python,但我覺得還是必須要澄清,學會Python和數據分析沒有直接關係。數據分析是單獨的一門學科,要論相關性,更接近於統計學、概率論等數學範疇,而Python只不過是目前用來做數據分析非常好的工具。並且因為很多人用Python做數據分析,所以有大量的庫來做這方面的工作。

所以,務必想清楚自己學習的目的是什麼。學Python,就找適合自己階段的Python教程;學數據分析,去看相關的書籍和課程;想找工作,那其實有更好的切入點。

附上之前我們學員的學習成果展示(通常2~4個月的時間):

只學2個月編程能寫出什麼代碼?

他們用實際行動告訴你,如何跨入編程的大門


前幾天一個朋友問我應該如何學習Python,所以來回答一下這個問題做一個總結。

----- 正文分割線 -----

核心思路

建立良好的反饋機制。學習任何一樣東西都是一樣。對於編程來說,特別是非計算機專業的小夥伴們,要進一步注意的是,我們學習編程是為了用,所有的編程學習都應該牢牢以需求和應用為導向。具體在實現上,主要是學習一點做一點項目,循環上升。

學習路徑

第一步是打基礎。對於零基礎新手,我通常建議跟著一門課或者一本書仔仔細細地地毯式過一遍,這裡需要注意的重點是要及時做老師布置的題目或者課本後的習題。這些題目固然簡單,也不一定很有實用場景,但是可以很好地幫助初學者克服畏難情緒。如果已經有一定的基礎,可以考慮大概過一遍以後選一些看起來順眼的題目找找感覺,在寫的過程中找新語言和舊語言的共同點和不痛點,盡量儘快把舊知識的積累遷移到新知識的學習上。這一步對於新手來說有兩個目的,了解什麼是編程、找這門語言的感覺。對於非小白來說主要是後者。因此這個階段到失去繼續看的興趣就可以停下來了。

第二步是學習如何學習編程或者如何學習這門語言。找一個小方向開始做,比如說寫一個簡單的爬蟲。舉個例子,你可以試試看抓取我們學院網站(重要新聞 - WISE)下所有網頁。這個時候你同時需要一些特定方向的資料,比如爬蟲入門教程。這個階段的主要目的是真正地學會用這門語言做事情,以及學習這門語言要怎麼學習。這個階段的標準是把項目預期的結果做出來一個最初步的結果即可。遇到不懂的問題,反覆回去翻入門資料和各種博客教程。

第三步是培養良好的編程習慣、學習如何優化代碼和設計代碼。找一個你覺得寫的有很多沒有解決的問題的程序,把你發現的問題一個一個解決,在這個過程中大量地去看各種各樣零散的技術博客,看看有沒有可以啟發到程序優化的知識點,比如說你偶然看到一個並發相關的文章,就可以試試看能不能用在爬蟲上。這個階段的資料會急速減少,是最難做的一個階段,需要花大量的時間搜索資料,以及慢慢形成比較高效的信息收集機制。這個階段的主要目標是增加深度,做到實在做不下去就可以放下來做下一步了。

第四步是全面了解整個領域。這個時候可以去按上面同樣的方法進入這門語言主要應用場景的其他領域。如果第三步做的比較到位,第四步的工作將會主要集中在這個領域的思想和這個領域的工具鏈的思想和使用方法。如果第三步做的不到位,第四步仍然會不可避免地覺得像學習新領域一樣,重複以上步驟即可。這個階段的主要目標是學習這個應用場景下的思想,主要的標準是如果你換一門陌生的語言仍然有能力實現這個思想,那麼說明你對這塊的思想掌握的已經比較牢固了。

參考資料

以下資料按應用場景分類,按照難度排序。這個資料清單是一個入門清單,是我和我們團隊總結的我們覺得最好用的最簡單的入門教程。這些教程的主要優點有幾個:簡單清晰;突出應用場景的思想;補充必要的知識(比如sklearn官方文檔同時也是一個機器學習教程)。

Python入門:

  • Crossin編程教室:Crossin的編程教室
  • 廖雪峰:Python教程

Python爬蟲:

  • 我寫的小白入門:Python爬蟲|Python爬蟲入門(一):爬蟲基本結構簡單實例
  • @xlzd 的教程:https://xlzd.me/tag/crawler/1
  • @爬蟲 的教程:爬蟲之從入門到精通

Python科學計算與數據分析:

  • 教材:利用Python進行數據分析 (豆瓣)
  • NumPy(科學計算和數據分析):Quickstart tutorial
  • Pandas(數據分析)入門:10 Minutes to pandas
  • Pandas完整+數據分析教程:pandas: powerful Python data analysis toolkit
  • SciPy(高級科學計算):SciPy v1.0.0 Reference Guide
  • SymPy(符號計算):SymPy Tutorial - SymPy 1.1.1 documentation
  • Statsmodels(統計計算):StatsModels: Statistics in Python

Python機器學習:

  • Sklearn(機器學習)入門:An introduction to machine learning with scikit-learn
  • Sklearn完整版+機器學習入門:contents - scikit-learn 0.19.1 documentation


0基礎,這個前提沒講清楚。

熟悉運用計算機,會查資料,沒學過編程是0基礎;

一點計算機知識都沒有,也沒有基本的互聯網知識儲備,也是編程0基礎。

這兩種0基礎區別很大,

大到第一種0學會Python可能只要一周,而第二種0可能要好幾年才能入門。

Python沒有項目只看書進度會非常慢,必須手上要有個簡單的事情,比如男賓熱衷的爬黃網,先打開一邊做一邊找資料一邊問人,做個幾輪下來就入門了。


題主如果想要利用python爬取數據資料,本人目前也正在學習Python網路爬蟲,我就從爬蟲談談python的學習。個人認為可以分為兩步走:一、學會python語言編程基礎;二、學習python網路爬蟲。

  • 學習python語言編程基礎
  1. 建立python環境。python版本的選擇,個人強烈推薦pyhton3。因為python2會在2020年停止支持,以及官方在python3上的推動和python社區支持這兩個方面來看,未來的python圈,應該持續接納python3。另外官網提供的python3,需要自己設置path環境變數,還有許多科學計算庫,都需要自己手動安裝,對於題主零基礎,推薦使用python的發行版本anaconda。
  2. 學習python的基本數據類型和運算符。掌握數值、字元串、列表、字典、元組的使用方法以及運算符的使用,自己可以使用多多python練習。
  3. 學會使用流程語句和函數:要重點掌握if判斷語句、for與while循環語句的使用、函數的定義。學到這裡就可以利用python編寫小程序解決一些應用題了。
  4. 接下來可以學習常用模塊的使用。比如常見的os、time、os.path模塊等。如果遇到使用上的問題,可以查看python幫助文件。比如說你想要查看字元串str的spilt屬性,可以在命令行中輸入help(str.spilt),個人認為最好的方法還是去找度娘啦。
  • 學習python網路爬蟲

有了前面的python語言基礎,現在就可以學習python網路爬蟲了。python網路爬蟲主要分為兩種方式:一、手寫網路爬蟲,二、利用scrapy框架

初級階段

1、學習Urllib庫與URL異常處理。要掌握Urllib庫的用法,如果遇到反爬蟲要學會瀏覽器的模擬,網路長時間未響應時進行超時設置,掌握HTTP請求協議(主要是get請求和post請求)是爬蟲寫法,另外爬蟲如果遇到異常,應該怎麼進行異常處理。

2、學會正則表達式與cookie的使用。自己可以將常見的正則表達式整理下來,比如說用正則表達式匹配電子郵件地址。

進階階段

3、學會使用爬蟲的瀏覽器的偽裝技術。通過設置Headers信息的User-Agent欄位來進行反爬蟲,通過代理伺服器使用IP池進行反爬蟲,利用一些工具軟體也可以進行反爬蟲。

高階階段

4、了解多線程爬蟲。這個反正我是不會啦,對於題主只想爬取點數據資料什麼的,前面兩階段就已經足夠了,20%的技能往往能夠解決80%問題。

如果是使用scrapy框架來編寫python爬蟲的話,要懂得items、pipelines、settings這些文件怎麼設置,另外學會使用XPath表達式的用法以及怎麼使用Python操作資料庫。


本人初學,寫的不好不要見怪,歡迎python大牛過來指導。

最最重要的是,各位不要忘記給我點贊哦!!!


零基礎的可以這麼玩,先去看看網上的教程,廖雪峰、菜鳥學院的都可以,配合網上的各種免費入門視頻,基本上一套下來就差不多了。

一定要完整看一本書,《Python 基礎教程》、《python編程》、《Python核心編程》等等,仔細看一本,在做些小練習,基本上你就能熟練使用Python了。


你現在讓我去任何一間小學,拿出他們的課本,不用一個小時,我就能學會上面的全部知識。

————————————————————————————————

這就是那些大神們半個月、幾天、幾個小時學會Python的真相。

===================================

謝謝各位點贊!!!

謝謝謝謝!!!!!

答非所問抖個機靈收這麼多贊,必須加點料不然對不起可憐的良心:

@LumiG說了:

一小時課本都讀不完。同理,那些所謂大神,幾天幾小時,連通讀一遍python文檔都不夠。。這哪好意思叫學會了。。

Yes!!

我要再補一刀:其實這些大神短時間「學會」python,根本就是用他以前最熟悉的編程語言來寫python,可能就是用劍法來使刀。所以,真正意義上來說,他們並沒有學到python的精髓!

自學編程這事兒,對於身邊沒有人來指導的小白,我想說說自己的一點看法,但想說的太多,歡迎大家先去批批我在這個問題的回答:

會寫代碼,但是不懂意思該怎麼辦?


我在面試網易遊戲時,面試管問了我類似的問題,你學python用了多少時間?我想,這應該是個坑,回答的時間太短可能就會問一些python的技術點,如果回答不上來,就會覺得你不踏實,所以我略微思考一下,說花了2個星期左右,然後面試管就問我怎麼學的?我的回答簡單概括一下就是:有個猥瑣的爬蟲需求(要爬島國番號對於的磁力鏈)---&>然後針對Python爬蟲學---&>廖雪峰---&>Python書籍,結果面試管看了我一會,說了一句,那也用不到2個星期吧。。。。我內心冷笑,我這是在謙虛,這都沒看出來?

可以看出,學Python其實不用那麼久,python是比較簡單的語言了,而且你不追究它的高級用法,只是簡單的用用,跟著別人的代碼多練習就好了,為了避免自己堅持不下去,就要有個學習目標,這個目標對你來說是有意思的,有了這個有趣的目標後,在實現它的過程中去學習,這樣才不會為了學習而學習,關注我共勉


我想學一門數據分析的語言,不敢說是謀生用,只是想掌握一種工具。沒事爬點有用的數據資料什麼的。

樓主的目標如上,說實話三個月用不著,中谷python(38課時),10天啃完,2天常用模塊訓練,3天實戰編寫(不會的谷歌 百度 ,查手冊),再多個十幾天沉澱下,多讀讀也差不多了。


用兩個月半學會C++,幾天學會Python,剩下幾天可以用Python寫東西了。


大哥,你要幾天學會python,要求是計算機科班畢業,成績中等即可。高數,數據結構,操作系統,編譯原理,離散,統計學之類的都學過考過,隨便什麼語言都一樣上手。

計算機科班都不教coding,都是計算機原理之類的順帶講講,演算法都是老師在黑板或者投影儀寫偽代碼。

那時候學生看著偽代碼,摸著石頭過河連c和c++之類都直接上手了,因為要交學期作業啊-學生查找系統,數據管理系統,設備相應系統之類什麼亂七八糟的都有,就別說python這麼簡單的了

我當年畢業設計就是數據挖掘關聯規則分析一本書,同組的同學做字體識別。當你就是Borland c++做的,沒現在這麼多nb的包,都是半學期連著學語言再帶看演算法和文檔就搞定了


一天就會了呀。。。。一天就會了呀。。。


有時間在知乎發問題,然後等回答,為什麼不直接拿起一本書開始看?等著知友劃重點?


邊學邊用的想法很不錯啊。

不管學習什麼編程技術,最好的學習辦法就是把學習過程直接轉化成一個項目去開發。

遇到各種問題,耐心的,慢慢的去查資料解決。這樣的學習過程雖然痛苦,但絕對紮實。

至於學習資料嗎,Python的官方文檔足夠了。


各個都是大神級人物,天資聰穎,在下實在是萬分敬佩。

本人,無計算機基礎,自學Python 四個月,也只是學會些演算法結構,flask 建立網站,只是能用html ,css,mysql,接下來是js,和計算機基礎。鄙人資質愚笨,怕笑話就不露面了。


既然題主說想學一門數據分析的語言,數據分析師出身的區區不才在下來列個單子。

首先給答主點贊。數據分析是要學編程的!!!搞數據無編程真的很著急,因為數據越來越大了不好搞了。。。

然後搬運個回答 大九九:你是如何自學 Python 的?

首先工欲善其事必先利其器。

安裝anaconda,覺得國外下載源速度太慢可選用清華鏡像:

Tsinghua Open Source Mirror

同時學會用conda做環境管理,環境管理特別特別重要,不想重裝python的先望一眼環境管理。

Anaconda是真好,誰用誰知道。

Anaconda使用總結

其次熟悉python這門語言

Learn Python the Hard Way

很簡單,python的寫法。似乎這本書的官網已經開始收費了,請自行百度免費資源。

然後把python這門語言用起來

Automate the Boring Stuff with Python

小巧實用天天見的例子。簡明易讀,跑起來一點兒也不費勁兒。

答主做數據分析不一定要把例子都做了,但很多通用例子比如文件處理、csv處理之類的還是挺有用的。

最後Python for Data Analysis

Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2nd Edition

每一個數據工作者,尤其是數據分析一定要讀的書。加粗加紅,劃重點!!!

然後干數據的話,以下這些庫是特別有用的(按需學習就好)。

數據處理: numpy, pandas

概率統計: scipy

可視化: matplotlib, seaborn

機器學習: sckit-learn, statsmodel

深度學習: keras (可選框架很多,此處列上手最快的)

最後的最後,我一定要說,做數據分析的話,學好pandas,走遍天下都不怕。

住樓主成功 :)


這是我個人學語言的感悟。如果你只是要寫個簡單網頁爬蟲的話,python入門級別就夠了,因為用到python模塊少,用法也簡單。入門python,即意味著你寫代碼沒有花

大部分的精力去對付語法錯誤,但可能還是花了很多精力處理邏輯錯誤。入門關鍵有兩點:一,你熟悉了python的變數類型,常用關鍵字,常用語法如語句,怎麼導入模塊,python的編碼規則,代碼縮進,;二,你了解python使用頻率最高的模塊,包括內置的,pip install的,裡面的類,方法都能熟練使用,比如入門爬蟲常用的request模塊,urllib2模塊,解析常用到的bs4模塊。如果之前有別的語言基礎,如c和html,那入門python爬蟲根本不需要用三個月的時間。爬蟲也分很多種。根據網頁類型的靜態網頁,動態網頁,帶不帶js的,需要採取不同解析方式。根據網站伺服器的策略,可能要考慮到反爬蟲,如簡單換瀏覽器頭,使用代理伺服器,時間封鎖就用sleep等等。書,個人推薦胡松濤的《python網路爬蟲實戰》,詳細介紹了常用python不同IDE的使用,各種爬蟲模塊的使用。最後,吐槽一下廖雪峰教程好吧,這應該不算入門級別了吧。入門需要寫裝飾器之類的嗎?個人推薦可以把廖雪峰的教程當成一個索引,哪天用到哪個功能了去找找就行了。以上。


其實學習一門語言做個基礎的入門。大概花上一個禮拜吧。最後就開始看別人源碼,遇到不懂的知識點。就重新翻開來看。在實踐中去學習。


推薦閱讀:

最好的Python入門教材是哪本?
Python 哪些可以代替遞歸的演算法?

TAG:Python | 數據分析 | Python入門 |