您好,登錄后才能下訂單哦!
今天給大家分享一位前輩整理的一個Python web學習路線。這位前輩由于有編程基礎,所以采用了自學Python的方式。學完后主要做后端開發。希望對你有所啟發。
整理的一個 python web 學習路線,這基本就是筆者自學后做后端的學習路線。
入門基礎
編程語言: Python
Python入門相對容易又可以干很多事(網站,運維,數據,爬蟲等),是一門方便的工具語言。
2016年TIOBE排名顯示Python已經名列第四,成為腳本語言之首。 國外的Youtube,Instagram,Pinterest,Reddit,Dropbox,Disqus, Quora等知名應用一開始都是基于Python構建,國內的豆瓣,知乎,果殼,餓了么,搜狐等也是Python應用的典型。
如果你想要學好Python可以加入一個組織,這樣大家學習的話就比較方便,還能夠共同交流和分享資料,給你推薦一個學習的組織學習有可學習有困難或者想獲取Python資料請加Python學習Q群629440234,互相學習,互相分享學習資料
這也給了國內Python開發者一陣強心劑,Python的生態環境可以支撐起重量級的 產品。這里不想挑起語言之爭,php,nodejs,java,ruby等都有豐富的生態環境。
不過目前來看,技術選型用Python在招聘、學習、培訓、敏捷開發等方面還是一個比較折中的選擇(主要在于人,而不是語言)。 python,ruby之類的動態語言優勢在于其生產力,你能在極短時間內就搭建出原型從而贏得產品競爭。 推薦一下幾本個人認為比較好的Python書籍:
?《python-guide》 requests作者寫的guide,偏向工程方面
?《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,java 需要有所了解。很多后端工程師需要做一些工具或者管理后臺之類的,了解前端知識會有幫助。
學習和搜索能力
初學者碰到的大部分技術問題都是可以通過 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的技術棧。公司不管你會什么算法,只在乎你的生產力(有時候技術本身不重要,它的價值在于對業務、用戶、顧客的貢獻)。
推薦一些文章供參考:
? 《全棧增長工程師指南》
? 《web開發路線圖》
? 《后端都要學習什么?》
? 《PYTHON招聘需求與技能體系》
? 《PYTHON后端相關技術/工具棧》
自學坑多,如果希望快速入門,還是老師帶領最靠譜!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。