Python初學者(零基礎學習Python入門)書籍、視頻、資料社區推薦

Python初學者(零基礎學習Python、Python入門)書籍、視頻、資料、社區推薦


Python初學者(零基礎學習Python入門)書籍、視頻、資料社區推薦


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

《如何用好Google搜索引擎?》知乎問答@崔凱

《十大高明的Google搜索技巧》by-雪影藍風

《如何用好Google》by-李笑來

二、學會提問

推薦閱讀《提問的智慧》by-啄木鳥社區

三、書籍推薦

零基礎

Python官方文檔點擊打開鏈接英語不好的,暫時就先別看了,以後一定肯定要加強英語學習哦;)。

推薦《How to think like a computer scientist》,對應中文版本《Python學習筆記--皮大慶》,非常適合零基礎入門。

推薦 [《Python編程實踐》] (http://book.douban.com/subject/7059900/)

推薦《簡明Python教程》

推薦《笨辦法學 Python (Learn Python The Hard Way)》

有其他編程語言基礎

推薦《Python基礎教程》

推薦Python入門教程-By廖雪峰

進階

推薦Requests 源碼閱讀

更多書籍推薦

知乎問答:關於 Python 的經典入門書籍有哪些?

V2EX問答:文科生想學Python

Python快速教程

四、視頻推薦

麻省理工公開課《計算機科學及編程導論》,該課程針對零基礎者網易公開課。

課程介紹

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

五、學習方法

知乎問答:零基礎,應當如何開始學習 Python ?--by@黎敏

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

如果目的是想成為程序員,參考教學大綱。

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

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

做些簡單習題,字符串比較,讀取日期之類

《Python Cookbook》不錯(太難太無趣的,再次跳過,保持興趣是最重要的,不會的以後可以再學)

加入Python討論群,態度友好笑眯眯(很重要,這樣高手才會耐心糾正你錯誤常識)。

很多小問題,糾結許久,對方一句話點播思路,真的節約你很多時間。耐心指教我的好人,超級超級多謝。

解決自己電腦問題。

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

時刻記住目的,不是為了當程序員,是為了解決問題。

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

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

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

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

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

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

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

然後,http://stackoverflow.com和http://Google.com是很好用的。

然後,堅持下去。

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

網絡很平面,無數國際大牛著作好書,關於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官方文檔:

http://docs.python.org/tutorial/index.html

然後做http://www.pythonchallenge.com/這個網站上面的題目.

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

小項目

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

寫一個簡單的計算器/記賬軟件/掃雷遊戲(用pyqt庫做界面)

寫一個聊天室網站(用webpy框架, jquery刷新新的回覆)

寫一個爬蟲, 獲取douban上面所有用戶的地點, 畫地點分佈的直方圖(用lxml解析, 保存數據到sqlite裡面去, 用matplotlib畫圖)

FAQ

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

A: 上http://groups.google.com/group/python-cn(需要翻牆) 或者http://stackoverflow.com提問就可以了.

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

A: 看官方文檔.http://docs.python.org/library/index.html

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:其中過程中主要的一些方法:

看書。學習的基礎。

自己本地練習。編程還是要實踐出真知。

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

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

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

六、Just Do It

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

好吧,最好一篇文章《我在學習編程中犯的兩個最大錯誤》點擊打開鏈接

Just do it 。動手敲代碼吧。

注:本文由@史江歌([email protected])根據互聯網資料收集整理而成。

七、更新

Python技術博客、招聘、開源軟件、Python中文網站導航

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

在線視頻教學(英文)codecademy

英文Python for beginners

英文How do I learn Python from zero to web development?(各種電子書推薦)點擊打開鏈接

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

Python模塊學習相當於翻譯官網文檔

針對有其他語言經驗的人,英文:Learn X in Y minutes中文翻譯Y分鐘學會Python(譯)

PyCoder’s Weekly 中文翻譯說明:文章質量很高

PEP 20 (Python之禪) 的實例說明:code_stype

Unicode之痛必讀

有關 Python 2 和 Sublime Text 中文 Unicode 編碼問題的分析與理解必讀

stackoverflow上Python相關回答整理翻譯

Python語言總結-初級中級高級教程作者:@Crifan Li

Python Guide Python 最佳實踐英文

《碼農週刊》乾貨精選(Python 篇)精選總結

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

知乎:Python 爬蟲如何入門學習

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

+

Python模擬登錄新浪微薄(使用RSA加密方式和Cookies文件)

http://uliweb.clkg.org/tutorial/view_chapter/240

一個簡單的分佈式新浪微博爬蟲

用python爬蟲抓站的一些技巧總結

使用python爬蟲抓站的一些技巧總結:進階篇

網絡爬蟲系列


轉發評論+私信“學習”即可領取Python視頻教程

轉發評論+私信“學習”即可領取Python視頻教程


分享到:


相關文章: