我們學Python時我們在學什么,不看虧大了
這是一篇來自簡書的文章,作者詳細講解了Python入門學習的一些困惑。
雖然有時覺得Python簡單得不像編程語言,知乎上也有人說,“requests 好用的讓人想哭”。但當我們學習一門編程語言時,要學習哪些內容,怎么學習,還是很值得深入探究的。
先看一下Python官網上的說明:

powerful, fast, easy, 對,這就是赤果果的廣告。不過我用下來的感覺確是如此,最大的問題是在于它太強大了有太多的庫,貌似沒有一個地方可以集中查看所有庫的文檔(https://pypi.Python.org/pypi?算嗎?)。那Python究竟能做些什么?
還是先看一下官網上的說明:
The Python Package Index (PyPI) hosts thousands of third-party modules for Python. Both Python's standard library and the community-contributed modules allow for endless possibilities.
- Web and Internet Development
- Database Access
- Desktop GUIs
- Scientific & Numeric
- Education
- Network Programming
- Software & Game Development
再看一下知乎上的回答,大家都用Python做什么?
做網站后臺:有大量的成熟的框架,如django,flask,bottle,tornado
寫網絡爬蟲:Python寫爬蟲很簡單,庫很健全
科學計算:參加數學建模大賽,完全可以替代r語言和MATLAB
數據挖掘:機器學習:Python的機器學習包很多
數據科學:最近spark,Hadoop都開了Python的接口,所以使用Python做大數據的mapreduce也非常簡單
自動化運維:做系統部署,日常維護的腳本
看到Python的功能強大了吧。現在工作需要的一些網絡數據抓取,我都用Python處理了。對于一個小白來說學習Python要注意些什么,哪些是重點,如果自學Python找一份開發的工作,重點又該是什么?
還是用數據說話,我用Python寫了一段代碼,把51JOB上上海地區Python職位的要求爬取下來,看看公司里對Python開發的要求是什么,這樣你學習起來才更有針對性。

Python抓取列表頁所有崗位鏈接

一共抓取了194個Python開發崗位
一、自學中一個最大的問題是,你沒有找到應用的場景
大多數同學在自學一門編程語言時,是沒有應用的場景感。就是不知道學了做什么用,講不出具體、合理的應用。如果是有老師教,老師帶著你學,是沒有關系的。因為每一階段做什么練習,做什么項目,知識點學到什么程度,老師都會幫你規劃好。自學不一樣,最好每個技能點都要有明確的應用場景感,這樣學習起來目標、目的更強,不會出現看不到進步,自我否定而放棄。
學習Python,比較好快速找到應用的場景。如果馬上可以找到解決工作生活中的問題,用Python來實現,學習的效果和效率就會立馬得到提升。這種學習方法,采銅稱之為“設計式操練”。
還是回到剛才知乎上的回答,有的人拿Python寫了一個12306余票檢測腳本;有的人用Python爬取圖片和電影資源... ... 這些就是具體應用的場景感,然后分解功能,一步一步完成,Python可以用最少的代碼來實現。

一定要破解 系列叢書《 從門到放棄!》
二、當我們學Python,我們學什么
1)如果學Python是想了解編程語言,做一些實用小工具來提高效率,那學習的主要內容應該是Python的網絡訪問(urllib, urllib2, requests),爬蟲相關的庫,正則表達式, BeautifulSoup,XPath,Excel,數據庫MySQLdb模塊等,了解html網頁。
這些知識熟練應用,從網絡上抓取數據,再進行分析處理,完全沒有問題。
2)如果你想學習Python語言找一份開發的工作,那看企業的崗位中有哪些要求。(一共194個Python開發崗位)
- 84個Python開發崗位是要求Web開發(后端開發)占43.3%,其中81個崗位明確需要django
- 118個崗位對Linux有明確的要求,占60.8%,74個崗位要求有Java開發經驗占38.1%
- 26個崗位對PHP有要求,占13%
- 運維崗位4個,測試崗位3個
- 高級工程師崗位是26個,占13%
- 工作經驗一般要求2年,一些崗位明確要求Python經驗2年以上。
- 爬蟲、數據分析相關的崗位17個,占8.7%

“職位要求”
再看一下崗位需求量,我把Java的也列出來作一個對比:
城市 | Python崗位數量(個) | Java崗位數量(個) |
上海 | 287 | 9993 |
西安 | 10 | 1309 |
武漢 | 23 | 2018 |
烏魯木齊 | 0 | 55 |
北京 | 347 | 12235 |
結論:
1.Python語言作為工作中效率提升的工具,非常好用的。
2.Python好用易學,但作為程序員主力開發語言,要求比較高,大多需要其他語言的使用經驗。Python作為程序猿的想擴展的新語言非常合適。
3.如果沒有編程語言基礎,想學習Python后從事開發,要求偏高。重點要放在Web學習,框架(Flask, Django)學習上,html, js 是基本。同時要打好Linux基礎,可以多了解一些Java比較好。