零基礎自學Python,最全學習路線+參考資料!

點擊藍字python教程」關注咱們喲!javascript

今天給你們分享一位前輩整理的一個Python web學習路線。這位前輩因爲有編程基礎,因此採用了自學Python的方式。學完後主要作後端開發。但願對你有所啓發。php


整理的一個 python web 學習路線,這基本就是筆者自學後作後端的學習路線。css

入門基礎html

編程語言: Python前端


Python入門相對容易又能夠幹不少事(網站,運維,數據,爬蟲等),是一門方便的工具語言。java


2016年TIOBE排名顯示Python已經名列第四,成爲腳本語言之首。 國外的Youtube,Instagram,Pinterest,Reddit,Dropbox,Disqus, Quora等知名應用一開始都是基於Python構建,國內的豆瓣,知乎,果殼,餓了麼,搜狐等也是Python應用的典型。node


這也給了國內Python開發者一陣強心劑,Python的生態環境能夠支撐起重量級的 產品。這裏不想挑起語言之爭,php,nodejs,java,ruby等都有豐富的生態環境。python


不過目前來看,技術選型用Python在招聘、學習、培訓、敏捷開發等方面仍是一個比較折中的選擇(主要在於人,而不是語言)。 python,ruby之類的動態語言優點在於其生產力,你能在極短期內就搭建出原型從而贏得產品競爭。 推薦一下幾本我的認爲比較好的Python書籍:mysql


•《python-guide》 requests做者寫的guide,偏向工程方面linux

•《use python》 use python

•《A Byte of Python》 一百多頁的小書,能夠快速熟悉Python語言。

•《Python核心編程》 比較全面的Python書籍,介紹了Python語言的方方面面。

•《Dive Into Python》 一本免費的開源書

•《Fluent Python》 Python進階的好書,沒有之一,涉及了不少Python高級主題和實現特性。

•《Python3 Cookbook》 Python進階讀物,聚集了不少技巧。

•《Python高級編程》 豆瓣工程師董偉明先生寫的python高級編程 ppt


固然還有Python的官方文檔做爲參考,不過有些文檔比較晦澀,仍是推薦書籍入門。網上目前也能夠搜到不少免費的電子書。 若是有時間能夠看看國內廖雪峯寫的Python教程,簡單易懂,就是跳躍有點大。


計算機網絡


對於應用開發者來講大部分時間可能不太會接觸特別底層的問題,可是瞭解網絡的運行原理仍是必要的。網上有個面試題 從輸入URL 到頁面加載完成的過程當中都發生了什麼事情? 若是對其中大部分的概念都瞭解就算是入門了。網絡相關書籍能夠隨便找一本看看。Http協議對於web開發者來講比較重要,須要深刻了解。推薦書籍:

《圖解Http》 一本小白入門Http協議的好書,有大量圖片示例。

《Http權威指南》 Http協議最權威的講解,大部頭著做,能夠看看最基礎的部分。

《網絡爬蟲教程》 很是不錯的爬蟲教程。感謝原做者,其實感受這種把學習的內容總結成小書的方式很好。

《Python3 網絡爬蟲實戰》


Linux系統


大部分Python應用都是跑在Linux服務器上的,大部分開源服務器軟件使用的也是linux系統,即便平常工做不使用linux,一些基本的linux命令也要了解。 好比經常使用的文件操做,目錄操做,進程操做等。你可使用類unix系統mac或者linux版本ubuntu做爲學習環境。 推薦:

•《Linux工具快速教程》

•《CONQUERING THE COMMAND LINE》 掌握這上面的命令基本就能夠知足平常需求了。

•《鳥哥的Linux私房菜.基礎學習篇》 淺顯易懂,入門Linux命令的好書。


數據庫


如今網站業務後端用得比較多的有三種類型的數據庫,關係型數據庫(mysql等),文檔型數據庫(mongodb等),和內存型數據庫(redis等)。三種數據庫各有優點和特點,後端程序員須要瞭解下不一樣類型數據庫的使用方法和應用場景,靈活應用到後端代碼中。關於各類數據庫網上已經有很多資料,讀者能夠自行搜索學習,比較重要的是 mysql 和 redis。


python相關庫的使用


python一大優點在於數量豐富的庫,靈活使用各類python庫能幫助咱們快速作出產品。做爲web開發者,你須要瞭解經常使用python庫和框架的使用,好比django/flask/tornado/sqlalchemy/requests/pandas等。


版本控制


目前最流行的應該就是git了。版本控制工具是多人協做必不可少的工具,入門的程序員須要掌握基本的git命令,能夠把github做爲我的練習的工具。


《語義化版本控制》

《Pro Git》


Web 服務器


Nginx 目前很流行,使用比較普遍,推薦學習和使用。熟悉 LNMP 架構(Linux + Nginx + Mysql + Python),目前不少公司採用了都是多語言+微服務架構。


前端知識


基本的 html,css,javascript 須要有所瞭解。不少後端工程師須要作一些工具或者管理後臺之類的,瞭解前端知識會有幫助。


學習和搜索能力

初學者碰到的大部分技術問題都是能夠經過 google 解決的,用好 google/stackoverflow/github 和各類技術論壇、牛人博客等能幫助你瞭解最新的技術。


專業素養

公司作項目不是本身過家家,須要你具有寫文檔,註釋,單元測試,溝通表達、與人協做、處理業務的能力。若是你如今還不瞭解一個正規python項目都有哪些組建構成,請去github克隆一份知名的代碼倉庫,花點時間仔細分析下它的項目結構和源代碼。 好比著名網站reddit代碼已經開源,大部分python實現,能夠參考下。


另外不少著名的python庫,好比requests/flask等也能夠做爲參考。從筆者短暫的從業經從來看,大部分自學python的人不怎麼遵照代碼規範(pep8), 不知道或者不重視單元測試(寫個函數print下就以爲OK了),不知道怎麼寫註釋和文檔(docstring聽過嗎?)。因此但願學習python的你能遵照工程實踐,具有良好的職業素養和編碼習慣,推薦閱讀《代碼大全》《編程匠藝》之類的工程相關的書。


•《程序員的職業素養》


後端技術棧


對於技能需求能夠在拉勾上搜一下Python的職位,看看各個公司對Python的要求。或者你能夠寫個拉勾網的爬蟲,對數據作一個簡單的統計,筆者當初找工做就是這麼幹的。


 另外,真正作項目還須要你熟悉python的各類庫和框架,好比django/flask/tornado/requests/sqlalchemy/unittest/celery等等,掌握了合適的工具才能快速上手作東西,公司巴不得你第一天入職次日就能寫項目。


 因此,在你入了門之後請儘快熟悉python web的技術棧。公司無論你會什麼算法,只在意你的生產力(有時候技術自己不重要,它的價值在於對業務、用戶、顧客的貢獻)。 


自學坑多,若是但願快速入門,仍是老師帶領最靠譜!


在學習python中有任何困難不懂的能夠加入個人python交流學習QQ羣:629614370,多多交流問題,互幫互助,羣裏有不錯的學習教程和開發工具。學習python有任何問題(學習方法,學習效率,如何就業),能夠隨時來諮詢我。


本文分享自微信公衆號 - python教程(pythonjc)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索