從英語單詞學(xué)起,代碼需要動手寫,給他買個筆記本電腦,書就看python菜鳥教程就行,百度搜就出來了
如果一點基礎(chǔ)沒有,那么肯定要先牢牢打好Python的基礎(chǔ)。
1. int、string、float等各種基本類型處理,尤其是字符串的處理;
2. 元組列表字典等各種集合處理;
3. 類的定義和使用,繼承和重載,尤其類函數(shù)靜態(tài)函數(shù)成員函數(shù)的區(qū)別;
4. 匿名函數(shù),線程,進程,多線程多進程,同步異步等等都需要掌握;
5. 熟悉各種常見的第三方的模塊;
第三方模塊多是Python最大的特點(小心不要踩版本的坑)。
接下來就是根據(jù)你的方向有選擇去學(xué)習(xí)。
建議有一定基礎(chǔ)后,直接擼爬蟲,不僅能鍛煉python知識,還能收獲:
1. http協(xié)議的知識,比如http頭和http狀態(tài)碼;
2. html、css、JavaScript前端知識;
3. 字符編碼的知識;
4. 正則表達式、lxml、BeautifulSoup等提取數(shù)據(jù)的知識;
5. 多線程的知識;
6. 數(shù)據(jù)處理的知識,如文件讀寫,sql數(shù)據(jù)庫和nosql數(shù)據(jù)庫的知識;
7. 驗證碼、代理服務(wù)器等反爬蟲知識;
8. scrapy等爬蟲框架的知識;
9. bloomfilter去重算法、內(nèi)存優(yōu)化、數(shù)據(jù)庫優(yōu)化的知識;
10. phantomJS模擬瀏覽器的知識;
11. 調(diào)試、捕捉、修正錯誤的經(jīng)驗;
安利,請看近7000人收藏的《python資料匯總(建議收藏)》
安利,請看我的網(wǎng)絡(luò)爬蟲系列文章。干貨多多
如果對您有幫助請點贊。謝謝支持。
首先就是要相信自己能學(xué)會。我也是大一才真正意義接觸編程(高中技術(shù)課有接觸VB,但是那時候還不懂這就是編程╮(╯▽╰)╭)。我真正學(xué)習(xí)的第一門編程課是C語言,但是不喜歡黑框框,后來聽說python有趣,才開始了自學(xué)之旅。本人智商不高,反應(yīng)很慢,但是也學(xué)下來了,后來還獨立用python及相關(guān)技術(shù)做了一個搜索引擎網(wǎng)站。說這些是想告訴你,笨笨的學(xué)長都能學(xué)會,那么你肯定可以。至于你說看過自己不會寫,那么最好方法就是邊看邊寫,看完實例自己敲一遍,然后嘗試修改參數(shù),看看是不是如自己所預(yù)料。
下面是干貨:
先說教材問題嵩天老師網(wǎng)課配套有一本書,如果是為了應(yīng)付考試(例如Python國家二級),我很推薦:
Python語言程序設(shè)計基礎(chǔ)(第2版) (豆瓣)book.douban.com其優(yōu)點有
語言風(fēng)格比較簡單,對于第一門語言的學(xué)習(xí)者來說比較好接受。不涉及過多Python高級內(nèi)容,但應(yīng)付考試內(nèi)容足矣。順便一提,這本書是Python國家二級的建議參考書。示例比較有趣(幾行代碼就能實現(xiàn)繪圖或者其他功能),如果你之前學(xué)過C語言就會有仿佛打開新世界大門的感覺。缺點有
有些示例和題目對于真·新手(之前沒有學(xué)過編程語言以及數(shù)據(jù)結(jié)構(gòu)與算法的同學(xué))來說還是有些難度(但我覺得這是學(xué)習(xí)者學(xué)習(xí)過程中會遇到的正常階段,實際上也怪不了老師和教材)。比如遞歸,這是新手普遍覺得難的內(nèi)容。當(dāng)你遇到難題時,如果你考試有要求,那么可以通過其他方式找資料學(xué)習(xí)或者請教老師(大學(xué)最廉價有效的資源為何不用);如果不是為了考試,那么我建議你可以暫時跳過,等到你學(xué)習(xí)到一定階段再回頭解決(比如刷完一邊書)。不涉及太多Python高級話題,作為進階學(xué)習(xí)者角度來看,這或許也是一個問題。如果你是想學(xué)習(xí)Python后能做點東西,那么我更推薦你用下面這本書從入門到實踐:
Python編程 (豆瓣)book.douban.com更多關(guān)于這本書介紹或者其他有關(guān)Python學(xué)習(xí)的內(nèi)容可以見我另一個答案:
入門python有什么好的書籍推薦?www.zhihu.com再說哪里可以練習(xí)我默認你是在windows上學(xué)習(xí)python。那么通常可以選擇本地或是online。
本地上也有幾種方式:
安裝Python解釋器(最基本),然后用自帶的IDLE編輯器進行編輯。這種方法優(yōu)勢就是簡單。安裝Anaconda,使用其自帶組件編輯器Spider。這種方法的優(yōu)勢在于自帶很多包,同時編輯器基于Ipython,在命令行下調(diào)試時非常方便。缺點在于對于新手來說安裝Anaconda可能有難度(其實真的沒難度..),但是只要善用搜索引擎,這不是問題。還有就是我目前喜歡用的Online方式,即通過Web應(yīng)用程序,用網(wǎng)站提供的開發(fā)環(huán)境學(xué)習(xí):
我最近在用C寫算法,遇到一個不錯的在線開發(fā)工具:https://www.onlinegdb.com/ 里面支持包括C、Python在內(nèi)的多種語言,能寫能跑能調(diào),可謂學(xué)習(xí)之利器!優(yōu)勢在于炒雞簡單,能上網(wǎng)就能用。。缺點也有,由于是國外網(wǎng)站,有時代碼出現(xiàn)一些錯誤(比如死循環(huán))可能導(dǎo)致網(wǎng)站掛掉,一段時間內(nèi)ip被禁。。不過出現(xiàn)概率也不大,只要你別老寫bug (lll¬ω¬)如果沒有任何基礎(chǔ)編程基礎(chǔ)也可以成為合格的python web方向程序員
學(xué)習(xí)時間充裕的情況下可以按下面步驟循序漸進的成長:
1、第一階段,打基礎(chǔ)
先學(xué)習(xí)linux操作系統(tǒng)的基本操作
然后在linux環(huán)境下學(xué)習(xí)python語言
語法
數(shù)據(jù)類型
函數(shù)
io操作
錯誤和異常
常用模塊
系統(tǒng)編程
網(wǎng)絡(luò)編程
數(shù)據(jù)結(jié)構(gòu)
常用算法
面向?qū)ο?/p>
設(shè)計模式
python常用模塊
2、第二階段,數(shù)據(jù)存儲和頁面展示
學(xué)習(xí)數(shù)據(jù)庫知識比如:mysql、redis、mongodb。
學(xué)習(xí)web前端html,css,js,jq,vue。
3、第三階段,應(yīng)用組件
學(xué)習(xí)框架:tornado、django、flask,最好選擇兩個框架進行學(xué)習(xí),
學(xué)習(xí)部署、git、爬蟲、數(shù)據(jù)挖掘、全文搜索、日志管理、單元測試、代碼維護,
學(xué)習(xí)緩存系統(tǒng)、文件系統(tǒng)、任務(wù)系統(tǒng)、消息隊列。
4、第四階段,實戰(zhàn)
選擇知乎或者豆瓣等網(wǎng)站進行模仿,實際演練后可以鞏固學(xué)到的知識。
5、第五階段,擴展
學(xué)習(xí)人工智能的相關(guān)知識。