各個階段的python學習路線?

已裝好3.5.1,等指令立即運行。
本人初入編程,想學python(以前只接觸過簡單VB,愛玩excel,愛搞小程序)。學習目標有三,按初中高階列序:
1、找一份工作,保證經濟的同時有一個更好的平台;
2、移動開發(前端及後端)及網站開發,做實用小程序(解決手頭常見問題),和數據處理(挖掘及可視化)
3、與金融或者其他行業多方位銜接,實現收入最大化。
但是目前還不知道python的利器精髓,尚不知道以後該語言發展趨勢。在網路上找到很多教程,重複多,看著也不太懂。請各位大牛對我的各階段給個學習路線,最好配上對照書單。萬分感謝。


你這個包括兩個部分的內容,一個是Python全棧,一個是數據分析,具體要學習的內容如下:

快速開發:這個大家應該都比較熟悉,快速開發,就是用成熟框架,更少的代碼來開發網站,Python在網站前後台有大量的成熟的框架,如django,flask,bottle,tornado,flask和django的使用較多,國內用Python開發的網站有:知乎、豆瓣、扇貝、騰訊、阿里巴巴;

數據分析:Python有三大神器:numpy,scipy,matplotlib,其中numpy很多底層使用C語言實現的,所以速度很快,用它參加各種數學建模大賽,完全可以替代r語言和MATLAB。spark,Hadoop都開了Python的介面,所以使用Python做大數據的mapreduce也非常簡單,加上py對資料庫支持都很好,或者類似sqlalchemy的orm也非常強大好用。

下面來看看這個兩個崗位的要求:

崗位1:職位要求
1,熟悉 Python 編程;
2,熟悉 Linux 系統;
3,熟悉 shell 編程;
4,了解 django/web.py/flask 框架一種及以上;
5,有一定的 Web 後端開發經驗,熟悉前後端分離的開發模式
熟悉關係型資料庫的使用與基本設計優化方法,了解常見的 NoSQL 資料庫如MongoDB, Redis等;
6,良好的編碼風格及測試習慣
加分項:
在 GitHub 上有開源項目

崗位定義:Python全棧開發

崗位2:任職資格
1、具有python開發數據處理軟體的經驗;
2、精通Python,掌握numpy,scipy,matplotlib,pandas等數據處理方面常用的第三方python庫;
3、熟悉至少一種Sql資料庫 (mysql/ sqlserver/oracle);
4、熱愛編程、具有良好的代碼風格;
5、做事具有條理性,具有良好的自學能力、分析問題以及解決問題的能力。

崗位定義:Python數據分析

那麼,大家來看看,這兩個崗位基本要求裡面,有哪些共性和不同?

第一層:python的基本語法和標準庫

既然你要會python開發,那麼語法基礎和庫是最基本的。

第二層:Linux基礎

全棧涉及linux伺服器的操作,那需要shell編程和linux基礎操作的基礎能力。數據分析其實就沒有這一層,涉及是數據採集,也就是爬蟲。全棧對linux基礎要求少一些,而運維需要更多,還需要一些DNS/DHCP之類的,很多企業也需要一定的運維工作年限。

第三層:資料庫操作

資料庫操作:SQL、Nosql,數據的儲存和處理,就是常見的增刪改查。

第四層:web前端

前端的實現,包括web前端技能,了解或熟悉HTML、CSS、Javascript,Bootstrap,jq,nodejs。全棧就不說了,運維開發涉及到可視化的界面。

第五層:基礎python的框架和庫

基礎python的框架和庫做各種實現,需要開發一個網站或者做一個自動化運維監控,數據分析師基於一些可視化的庫和數據分析的庫。

第六層:演算法設計和求職準備

學一個技術和進階的核心是演算法設計,最重要的是:求職

下面是學習的路線圖:


再放出乾貨之前,我們普及一下編程語言的基礎知識。用任何編程語言來開發程序,都是為了讓計算機幹活,比如下載一個MP3,編寫一個文檔等等,而計算機幹活的CPU只認識機器指令,所以,儘管不同的編程語言差異極大,最後都得「翻譯」成CPU可以執行的機器指令。而不同的編程語言,干同一個活,編寫的代碼量,差距也很大。

比如,完成同一個任務,C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。

所以學習Python初期不太容易碰壁,Python語言是非常簡單易用的,容易學。並且Python還是人工智慧首選的編程語言,未來有可能有一天會爆發。

所以希望我整理的這要Python學習路線圖可以幫助大家!

一、Python入門

這一階段,你需要學習的知識點:

如果學習能力還不錯的話,這一階段,只需要一個多月的時間

Python視頻教程:

1、重磅級教程推薦,講的非常好

Python入門教程完整版(懂中文就能學會):http://pan.baidu.com/s/1miwZ1WW

2、Python基礎教程:http://pan.baidu.com/s/1kUZpbOb

二、知識運用

利用上述課程中的知識搭建簡單的Web服務。熟悉Scrapy各模塊。熟悉Django各模塊的使用

1、Scrapy視頻教程:http://pan.baidu.com/s/1dF3qhFV

教程簡介:

(1)Scrapy的簡介。

主要知識點:Scrapy的架構和運作流程。

(2)搭建開發環境:

主要知識點:Windows及Linux環境下Scrapy的安裝。

(3)Scrapy Shell以及Scrapy Selectors的使用。

(4)使用Scrapy完成網站信息的爬取。

主要知識點:創建Scrapy項目(scrapy startproject)、定義提取的結構化數據(Item)、編寫爬取網站的 Spider 並提取出結構化數據(Item)、編寫 Item Pipelines 來存儲提取到的Item(即結構化數據)。

2、Django教程:http://pan.baidu.com/s/1nvFlfU5

教程簡介:

(1)Django的簡介。

主要知識點:MVC設計模式以及Django的MVT。

(2)搭建開發環境:

主要知識點:Linux的虛擬環境搭建和應用、Django的安裝。

(3)利用Django框架完成簡單的圖書項目:

主要知識點:編寫模型,使用API與資料庫交互、使用Django的後台管理管理數據、通過視圖接收請求,通過模型獲

3、Python全棧教程:http://pan.baidu.com/s/1nvFlfU5

教程簡介:

(1)HTTP協議的分析:

HTTP格式。

包含知識點:HTTP GET請求的格式、HTTP POST請求的格式、HTTP響應的格式。

(2)HTTP協議的使用(實現Web靜態伺服器):

利用HTTP協議實現Web靜態伺服器。

包含知識點:瀏覽器首先向伺服器發送HTTP請求、伺服器向瀏覽器返回HTTP響應、使用類。

(3)伺服器動態資源請求(實現Web動態伺服器):

利用WSGI實現Web動態伺服器。

包含知識點:瀏覽器請求動態頁面的過程介紹、WSGI的介紹、定義WSGI介面。


題主想利用Python做移動開發(前端及後端)及網站開發,做實用小程序(解決手頭常見問題),和數據處理(挖掘及可視化)。Python這麼強大的語言當然沒問題!

題主在問題中提到:初入編程,想學python(以前只接觸過簡單VB,愛玩excel,愛搞小程序)。學習目標有三,按初中高階列序,那麼就看看從初級工程師到大神級工程師的學習路線吧!

一、Python初級開發工程師(基礎篇)

1.python語言基礎(目標:掌握python基礎語法入門和項目實踐);

2.python語言高級(目標:能利用python進行一般的數據處理和爬蟲);

3.python全棧工程師前端(目標:學會常用的前端技術);

4.python全棧工程師後端(目標:學會企業級後端框架Django,並能完成一個大型網站的構建);

以上是某機構的Python零基礎教程,如果你想進一步學習,甚至想成為Python大神級數據分析師,建議你去學習以下課程:

二、Python高級開發工程師(進階篇)

5.Python全棧工程師後端高級;

6.Linux基礎;

7.Linux運維自動化開發;

三、Python大神級數據分析師(大牛篇)

8.Python數據分析;

9.Python大數據;

10.Python機器學習。

另外,題主還提到:想找一份工作,保證經濟的同時有一個更好的平台。首先要告訴你的是Python開發工程師薪資水平並不低,因此這個問題毋須擔心。

無論是人均面邀數還是平均年薪,Python工程師都排在較高的位置上。對於不同規模的企業來說,除了未融資和不需要融資的企業,Python程序員的薪資呈企業規模越大薪資越高的趨勢各個城市的互聯網公司也開始紛紛招聘Python工程師。

從薪資報告和各城市薪資數據來看,Python工程師在當下的待遇挺不錯。接下來請看Python工程師工資收入水平截圖:

目前,Python在市場上的需求已經不少。你要注意的是紮實掌握好Python技術。只會理論,卻沒有實際操作能力是完全不夠的。沒有一家公司喜歡只會「紙上談兵」的員工。

題主還說,希望與金融或者其他行業多方位銜接,實現收入最大化。在這裡我想告訴你的是:完全沒問題。Python的功能不可以說不大,在金融方面有著很方便的應用,並且有望成為金融語言:

早在幾年前,美國證監會(SEC)就提議絕大多數資產抵押證券(Asset
Backed Securities,簡稱ABS)要包含一個可下載的程序,「該程序能夠實現交易協議中資金流轉的相關條款(或稱之為『瀑布』)」。

目前,美國證監會正計劃將Python作為報告要求的編程語言。儘管其他語言亦在考慮之列,但Python卻擁有一些顯著的優勢。除了擁有一個開源且獨立的編譯器以外,Python還能夠運行在Java和.NET平台。

在Windows平台上,.NET可以將Python與任何基於COM的語言結合在一起;而在Linux平台上,Python可以使用基於C的擴展來實現特定的需求。

當然,它也不僅僅是用在金融領域。作為一種膠水型語言,它幾乎可以滲透在我們編程過程中的各個領域,它是一門非常好用的語言。

再看你提到不清楚它的趨勢:事實上,國內的不少大企業已經開始使用Python,例如騰訊和知乎運維平台,就是基於Python語言所構建的。Python排名不斷攀升,能應用在測試工具、數據挖掘、運營平台、系統運維等領域的這一語言已經被重視起來了,並慢慢開始流行。

以上就是我的回答。


首先要問你一個問題?自己能不能寫代碼解決問題?
看看這個知乎上提問者提的問題,不看答案的話,你能不能寫出代碼?
python如何對一個列表,按照其元素的index值和一個數求模的結果重新分組,生成一個分組後的字典? - 編程

如果能寫出,就找項目練手。寫不出,應該知道怎麼辦吧!

python程序員學習路線圖
python+ 數據結構和演算法 + linux + 軟體工程 + web開發 +javascript+ git版本控制+溝通技巧等等。

加油!

請看看
運維如何通過學習python學會編程
article/how_to_learn_python.md at master · pythonpeixun/article · GitHub
python編程思路之四


兄弟,python是語言,語言是工具,工具是鐵鍬。你把鐵鍬用出花來,也就能參加個中國達人秀

所以沒什麼各階段的指導,關鍵在於你要用工具做什麼事情。

以下建議僅供參考
1,無論學習什麼,去找官方文檔,注意demo代碼,可以copy,重在理解原理

2,github有很多代碼。不要自己寫

3,盡量用中學。學中用

4,如果一個類庫實在不理解,那就找另一個,只要能實現功能。當做女友來遠,真的


  題主想利用Python做移動開發(前端及後端)及網站開發,做實用小程序(解決手頭常見問題),和數據處理(挖掘及可視化)。Python這麼強大的語言當然沒問題!

  題主在問題中提到:初入編程,想學python(以前只接觸過簡單VB,愛玩excel,愛搞小程序)。學習目標有三,按初中高階列序,那麼就看看從初級工程師到大神級工程師的學習路線吧!

  一、Python初級開發工程師(基礎篇)

  1.python語言基礎(目標:掌握python基礎語法入門和項目實踐);

  2.python語言高級(目標:能利用python進行一般的數據處理和爬蟲);

  3.python全棧工程師前端(目標:學會常用的前端技術);

  4.python全棧工程師後端(目標:學會企業級後端框架Django,並能完成一個大型網站的構建);

  以上是某機構的Python零基礎教程,如果你想進一步學習,甚至想成為Python大神級數據分析師,建議你去學習以下課程:

  二、Python高級開發工程師(進階篇)

  5.Python全棧工程師後端高級;

  6.Linux基礎;

  7.Linux運維自動化開發;

  三、Python大神級數據分析師(大牛篇)

  8.Python數據分析;

  9.Python大數據;

  10.Python機器學習。

  另外,題主還提到:想找一份工作,保證經濟的同時有一個更好的平台。首先要告訴你的是Python開發工程師薪資水平並不低,因此這個問題毋須擔心。

  無論是人均面邀數還是平均年薪,Python工程師都排在較高的位置上。對於不同規模的企業來說,除了未融資和不需要融資的企業,Python程序員的薪資呈企業規模越大薪資越高的趨勢各個城市的互聯網公司也開始紛紛招聘Python工程師。

  從薪資報告和各城市薪資數據來看,Python工程師在當下的待遇挺不錯。接下來請看Python工程師工資收入水平截圖:
目前,Python在市場上的需求已經不少。你要注意的是紮實掌握好Python技術。只會理論,卻沒有實際操作能力是完全不夠的。沒有一家公司喜歡只會「紙上談兵」的員工。

  題主還說,希望與金融或者其他行業多方位銜接,實現收入最大化。在這裡我想告訴你的是:完全沒問題。Python的功能不可以說不大,在金融方面有著很方便的應用,並且有望成為金融語言:

  早在幾年前,美國證監會(SEC)就提議絕大多數資產抵押證券(Asset Backed
Securities,簡稱ABS)要包含一個可下載的程序,「該程序能夠實現交易協議中資金流轉的相關條款(或稱之為『瀑布』)」。

  目前,美國證監會正計劃將Python作為報告要求的編程語言。儘管其他語言亦在考慮之列,但Python卻擁有一些顯著的優勢。除了擁有一個開源且獨立的編譯器以外,Python還能夠運行在Java和.NET平台。

  在Windows平台上,.NET可以將Python與任何基於COM的語言結合在一起;而在Linux平台上,Python可以使用基於C的擴展來實現特定的需求。

  當然,它也不僅僅是用在金融領域。作為一種膠水型語言,它幾乎可以滲透在我們編程過程中的各個領域,它是一門非常好用的語言。

  再看你提到不清楚它的趨勢:事實上,國內的不少大企業已經開始使用Python,例如騰訊和知乎運維平台,就是基於Python語言所構建的。Python排名不斷攀升,能應用在測試工具、數據挖掘、運營平台、系統運維等領域的這一語言已經被重視起來了,並慢慢開始流行。

  以上就是我的回答。


推薦閱讀:

函數式編程如何工程化?
遊戲編程,變數命名用拼音可以嗎?
函數式語言開發 GUI 是不是自虐?
有哪些支持多種語言的 IDE ?
各種編程語言的實現都採用了哪些垃圾回收演算法?這些演算法都有哪些優點和缺點?

TAG:編程語言 | Python | LearnPythontheHardWay | 互聯網 | python35 |