Python初學者(零基礎學習Python、Python入門)

kunlunzhiying發表於2018-01-29
文章轉自:  

一、學會使用搜尋引擎,尤其是Google。推薦閱讀文章

 知乎問答@崔凱

by-雪影藍風

 by-李笑來

二、學會提問

推薦閱讀  by-啄木鳥社群

 務必請讀完!

三、書籍推薦

零基礎

  1. Python官方文件  英語不好的,暫時就先別看了,以後一定肯定要加強英語學習哦;)。

  2. 推薦,對應中文版本《Python學習筆記--皮大慶》,非常適合零基礎入門。

  3. 推薦 [《Python程式設計實踐》] ()

  4. 推薦 

  5. 推薦

有其他程式語言基礎

  1. 推薦

  2. 推薦

進階

  1. 推薦

更多書籍推薦

  1. 知乎問答

  2. V2EX問答: 

  3. Python快速教程

四、影片推薦

麻省理工公開課《電腦科學及程式設計導論》,該課程針對零基礎者  。

課程介紹 這門課程適用於那些擁有 很少或沒有程式設計經驗 的學生,它致力於使學生理解計算機在解決問題中的作用,並且幫助學生, 不論其專業,使他們對於能夠完成有用的小程式的目標充滿信心。

五、學習方法

知乎問答--by@黎敏

雖然我不是Python高手,但我是零基礎,之前會的都是軟體PS,PPT之類。

如果目的是想成為程式設計師,參考教學大綱。

如果只是學程式,理解科技,解決工作問題,我的方式可以參考使用:

  1. 找到合適的入門書籍,大致讀一次,迴圈啊判斷啊,常用類啊,搞懂(太難的跳過)

  2. 做些簡單習題,字串比較,讀取日期之類 《Python Cookbook》不錯(太難太無趣的,再次跳過,保持興趣是最重要的,不會的以後可以再學)

  3. 加入Python討論群,態度友好笑眯眯(很重要,這樣高手才會耐心糾正你錯誤常識)。 很多小問題,糾結許久,對方一句話點播思路,真的節約你很多時間。耐心指教我的好人,超級超級多謝。

  4. 解決自己電腦問題。 比如下載美劇,零散下載了2,4,5,8集,而美劇共12集,怎樣找出漏下的那幾集?然後問題分解,1讀取全部下載檔名,2提取集的數字,3數字排序和(1--12)對比,找出漏下的。

  5. 時刻記住目的,不是為了當程式設計師,是為了解決問題。

比如,想偷懶抓網頁內容,用urllib不行,用request也不行,才發現抓取內容涉及那麼多方面(cookie,header,SSL,url,javascript等等),當然可以聽人家勸,回去好好讀書,從頭讀。

或者,不求效率,只求解決,用ie開啟網頁再另存為行不行?ie已經渲染過全部結果了。

問題變成:1--開啟指定的10個網頁(一行程式碼就行)。更復雜的想儲存呢?利用已經存在的包,比如PAM30(我的是Python3),直接開啟ie,用函式outHTML另存為文字,再用搜尋函式(str搜尋也行,re正則也行) 找到資料。簡單吧?而且程式碼超級短。

  1. 保持興趣,用最簡單的方式解決問題,什麼底層驅動,各種交換,留給大牛去寫吧。我們利用已經有的包完成。

  2. 耐心讀文件,並且練習快速讀文件。拿到新包,找到自己所需要的函式,是需要快速讀一次的。這個不難,讀函式名,大概能猜到是幹嘛的,然後看看返回值,能判斷是不是自己需要的。

  3. 寫幫助檔案和學習筆記,併發布共享。教別人的時候,其實你已經自己再次思考一次了。

我覺得學程式就像學英文,把高頻率的詞(迴圈,判斷,常用包,常用函式)搞懂,就能拼裝成自己想要的軟體。

然後, 和  是很好用的。

然後,堅持下去。

一定要保持興趣,太複雜的跳過,就像小學數學,小學英語,都是由簡入深。

網路很平面,無數國際大牛著作好書,關於Python,演算法,電腦,網路,或者程式設計師思路,或者商業思維(浪潮之巔是本好書)等等,還有國際名校的網路公開課(中英文字幕翻譯完畢,觀看不是難事),講計算機,網路,安全,或者安卓系統,什麼都有,只要能持續保持興趣,一點點學習下去,不是難事。

所有天才程式設計師,都曾是兒童,回到兒童思維來理解和學習。覺得什麼有趣,先學,不懂的,先放著,遇到問題再來學,效果更好。

唯一建議是,不要太貪心,耐心學好一門優雅的語言,再學其它。雖然Javascript做特效很炫,或提某問題時,有大牛建議,用Ruby來寫更好之類,不要改方向。就像老笑話:“要學習遞迴,必須首先理解遞迴。”然後死迴圈一直下去。堅持學好一門語言,再研究其他。

即使一門語言,跟網路,資料庫等等相關的部分,若都能學好,再學其他語言,是很快的事情。

另外就是,用學英文的耐心來學計算機,英文遇到不懂的詞,抄下,查詢。

python裡,看到Http,查查定義,看到outHtml,查查定義,跟初學英語時候一樣,不要直接猜意思,因為精確描述性定義,跟含糊自然語有區別的。而新人瞎猜,很容易錯誤理解,wiki,google很有用。

芝麻問答:如何學習Python 作者:@halida

如何學習python

我們假設你是一個初級程式設計師, 只懂得一點點的基礎知識, 希望能夠用python來做開發. 這篇文件就是為了滿足以上目標而寫的.

大綱

按照這篇文件所指示的任務過一遍, 你就能夠做到:

熟悉python語言, 以及學會python的編碼方式. 熟悉python庫, 遇到開發任務的時候知道如何去找對應的模組. 知道如何查詢和獲取第三方的python庫, 以應付開發任務. 學習步驟

安裝開發環境

如果你在window下, 去下載pythonxy安裝起來, 然後執行python, 進入python解釋環境.

如果你在ubuntu下, 執行: sudo apt-get install python, 然後在命令列下執行python, 進入python解釋環境.

學習方法

作為一名成熟的開發人員, 我學習新東西(假設是pyqt)的習慣方式是:

直接用google搜尋pyqt的官方網站. 按照官方網站的說明, 下載pyqt. (如果是用ubuntu, 看看軟體庫裡面是否有足夠新的版本) 下載過程中, 開始閱讀官方網站上面的教程. 一邊看教程, 一遍按照教程使用pyqt. 如果發現教程不夠全面, 用google搜尋是否有對應的教學書籍可以看. 示例學習完畢, 開發一個玩具程式, 用來檢驗自己是否需要用到的功能. 開始學習python

我建議你學習的過程也按照上面來, 首先過一遍python官方文件:

然後做  這個網站上面的題目.

如果卡在某一關太久, 可以看答案(google python challenge answer), 做完後看看別人的編碼方式和自己有什麼區別.

小專案

做完一遍後, 你會發現已經熟悉了基本的python開發. 然後做點小專案吧. 這裡是一些題目, 挑感興趣的去做.

  • 寫一個簡單的計算器/記賬軟體/掃雷遊戲(用pyqt庫做介面)
  • 寫一個聊天室網站(用webpy框架, jquery重新整理新的回覆)
  • 寫一個爬蟲, 獲取douban上面所有使用者的地點, 畫地點分佈的直方圖(用lxml解析, 儲存資料到sqlite裡面去, 用matplotlib畫圖)

FAQ

Q: 遇到了問題, 到哪裡求助?

A: 上  (需要翻牆) 或者  提問就可以了.

Q: 如何查詢python的某個功能?

A: 看官方文件. 

Q: 如何用python完成一個任務(比如寫網站)?

A: google: python 寫網站, 或者 google: python web development.

知乎問答:你是如何自學 Python 的? 作者:@成增存

階段一:前輩領進門。 第一眼是一個前輩給我看了看Python的程式碼,因為自己最早學習的是Java語言,第一眼看到Python的時候,前輩說,“Python是物件導向的”,然後就 列印了幾句程式碼。可我怎麼也看不出到底哪裡是“物件導向”的。前輩說“在Python裡,一切皆物件”,我才有點領悟的說道:“原來把什麼看成物件,就是物件導向”,哈哈。

階段二:開始看的是《Dive into Python》、《Leaning python》、《Python Doc》。 因為有很多語言學習經歷,很快就完成了初步語法和使用學習。太複雜的特性還是在使用中逐步掌握的。

階段三:開始使用Python做自己的一些日常工作。 比如Python搜尋檔案,Python批次處理等,使用最多的還是re模組和socket相關模組。寫了大量的例子,讓自己對Python更加喜愛,也更加熟悉。此時翻閱最多的是《Python Doc》的指南。不管是語言參考、庫參考、Demo參考,都有大量可使用的內容,內容質量很高堪比JDK。

階段四:生產上馬。 開始使用Django,Flask,Tornado開發一些web應用,寫一些日常使用的工具包等。逐步提升設計能力,和整體程式碼的管理能力。

階段五:更合理的分配好C,Java,Python三門語言各自擅長的部分。 把合適的語言用到合適的地方。儘管一門語言有時候可以搞定所有的,但用擅長的語言解決合適的問題才是效率最高的。這也是“Python的大道至簡”的理念帶給我的幫助和認識。

PS:其中過程中主要的一些 方法 :

  1. 看書。學習的基礎。

  2. 自己本地練習。程式設計還是要實踐出真知。

  3. 資料查詢。google,stackoverflow等多關注。

  4. 交流。各種論壇上的python group,論壇。最早去的CU,JavaEye,不過現在貌似去的少了。google group 必須訂閱。

    學習+實踐+總結,掌握語言的法寶。

六、Just Do It

看了這麼多資料了,還沒動手敲程式碼?

好吧,最好一篇文章《我在學習程式設計中犯的兩個 最大錯誤 》點選開啟連結

Just do it 。動手敲程式碼吧。

注:本文由@史江歌()根據網際網路資料收集整理而成。

七、更新

遇到python問題怎麼樣解決?python help dir stackoverflow docs google

英文How do I learn Python from zero to web development?(各種電子書推薦)點選開啟連結

Python應用與實踐 Python是什麼?誰在用它?相關工具?作者:@吳秦

Python模組學習 相當於翻譯官網文件

針對有其他語言經驗的人,英文: 中文翻譯

 說明:文章質量很高

 說明:code_stype

 必讀

 必讀

 作者:@Crifan Li

 關於Python安裝、配置、和日常使用的最佳實踐手冊。

 精選總結

 Python 標準庫的使用

八、爬蟲以及模擬登陸新浪微博

Python爬蟲學習系列教程 @崔慶才系列教程,入門、實戰、爬蟲利器介紹、進階

Python模擬登入新浪微薄(使用RSA加密方式和Cookies檔案)

網路爬蟲系列

九、工具

Windows系統下,Python相關包

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28211342/viewspace-2150631/,如需轉載,請註明出處,否則將追究法律責任。

相關文章