當我們學Python時,我們學什么?

雖然有時覺得Python簡單得不像編程語言,知乎上也有人說,“requests 好用的讓人想哭”。但當我們學習一門編程語言時,要學習哪些內容,怎么學習,還是很值得深入探究的。

先看一下Python官網上的說明:

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比較好。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • # Python 資源大全中文版 我想很多程序員應該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,537評論 6 427
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,813評論 25 708
  • 最近比較順利,生活上實現了跑步、泡腳、梳頭、讀書,工作上建立了項目進度計劃、每日一問、時間記錄與分析,兒子的...
    amylismile閱讀 159評論 2 0
  • 自從大學尤其是上班以后走上了只會電腦和手機這條路,加上孕傻以及帶娃的心酸就徹底與書籍說再見了。 說說最近想說的吧,...
    理理天天胡閱讀 215評論 0 0
  • 梁小北的藍色牙刷一直留在蘇文家的粉紅色漱口杯里,和蘇文的粉紅色牙刷配成一對,安靜地站在那里。 蘇文在梁小北之后已經...
    橙君梨閱讀 528評論 1 3