相信一個python的初學者一定已經學完了基礎的程式設計知識,和其他程式語言差不多,基礎的資料類型、判斷、循環、函數,或許你還學了物件導向。然而,當你學完這些後,或許一本python的入門書籍你已經學完了,但是你開始迷茫了,接下來,到底該做些什麼呢?
以前我也曾經遇到過這些問題,我的辦法就是四處尋找python的教學視頻,然後去學。雖然學到了一些東西,但是並不繫統,學了一段時間後,就忘得差不多了。 (推薦學習:Python影片教學)
經過一年的學習,我覺得python進階的方法是,學完基礎知識後,就先從網路程式開始,從一個最簡單的socket開始,先寫寫兩台機器如何通訊,找找成就感。然後接著學習socketserver模組和http.server模組,它們是一個封裝一個,你讀了這兩個模組之後,就知道python物件導向的強大,即使你現在寫不了那麼好的程式碼,但是你依然進步。
尤其是http.server模組,你看完它的原始碼後開始朝著python的web伺服器方向發展了,要知道python的web伺服器程式碼,都是基於socket封裝的,一行程式碼一行寫出來的。一條簡單的指令
python -m http.server
此時你的電腦就是一個簡單的web伺服器了,可以透過瀏覽器取得你電腦讓的檔案。了解了這些,就可以著手寫一個最簡單的web伺服器了,其實幾行程式碼就搞定了。但你發現你的程式碼一次只能服務一台客戶端,你開始思考該怎麼做讓python實現並發。
在Python中有三種方式,行程、執行緒和協程。行程寫不說,聊聊執行緒和協程。這樣說吧,執行緒和協程實現的功能差不多,但是協程佔用的系統資源較少,它不需要CPU進行上下文的切換。所以最好的解決方案就是進程加協程。
這時候你又開始進入了一個新的學習領域,開始了解協程,從最簡單的yield關鍵字開始,接著了解python中的非同步模組,然後到終極非同步模組asyncio,python作者著手開發的,畢竟現在異步是非常火紅的。期間,你可能會使用非同步寫些小程序,例如寫個聊天室,單執行緒下的並發。到了最後,你讓你所學的非同步和web伺服器結合,使其更加強大,如果只是玩玩的話,完全可以將它搭在你的伺服器上,提供一些簡單的網頁服務。如果還想繼續發展的話,可以寫個小的web框架來玩。
這時候,就可以去了解爬蟲了,畢竟服務端已經被你解決了。先寫服務端有一個好處,可以從無到有,鍛鍊自己寫程式碼的水平,爬蟲已經封裝的很好了,如果從零開始寫有點小麻煩。還是那句話,慢慢學,如果有興趣,也可以寫個小的框架來玩。
接著就可以玩一些高級一點的,之前我所說的一些和python相關的編程,有個高中知識水平就可以搞了。但是你想玩數據分析和機器學習那就需要大學的知識儲備了,高數、線代、統計學、機率論等等數學知識,這時候先結合你之前的爬蟲知識搞搞簡單的數據分析,然後在慢慢的一步一步深入下去,相信那是的你應該有了自己明確的目標了吧。想要做到這一點,最重要的便是堅持。
更多Python相關技術文章,請造訪Python教學欄位學習!
以上是python基礎學完後再學什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!