近些年,編程語言Python的熱度越來越高,因為Python簡單,學起來快,是不少程序員入門的首選語言。我將學習過程分成八步,并借鑒了敏捷開發(fā)的迭代思想,以達到自我迭代學習的效果。行勝于言,理論結合實踐才是王道,所以本文我將基于前面的學習方法,分享我是如何學習python的。
為什么學習python?
"Lifeisshort,youneedPython!"--BruceEckel
python是一種被廣泛使用的高級編程語言,其代碼語法簡潔、可讀性強,并且具有豐富和強大的庫。python簡單易學,應用廣泛,web開發(fā)、爬蟲、運維、人工智能……可以說無所不能。python去年還被列入了全國計算機等級考試科目,也逐步成為小白踏上編程之路的入門語言了。
"人生苦短,我用python!"用python干什么?這個因人而異,個人而言,我學習python主要用于兩個方向:爬蟲和運維,工作上可以幫助我們復雜工作簡單化,重復工作自動化,以及以后的人工工作智能化。
本文和大家探討的是學習python的方法,接下來我們就馬上開啟python的學習之旅。
1.確立目標
我對python的定位,其實就是一個提升工作效率的工具,我學習python的目的簡單明確,總的來說就兩個:
1.學習python語言,并能用它來爬取數(shù)據(jù)做數(shù)據(jù)分析;
2.使用python制作一些腳本工具,以幫助并提升工作效率。
2.拆分任務
我們通過逆向分解,將目標拆分成具體的可執(zhí)行任務。這個過程其實就是將目標細分整理成具體的小目標或問題,然后將其關聯(lián)到一個個可執(zhí)行的任務,目的是完成目標或解決問題。
完成我的兩個目標,需要具體學習哪些知識,完成哪些事項呢?第一個目標需要學習python的基本語法,像數(shù)據(jù)類型、邏輯結構、列表、元組、字典、引用等基礎知識,以及爬蟲相關的requests、urllib、pycurl、tornado等模塊。第二個目標則需要根據(jù)平時工作的實際需求,進一步借助python語言及相應模塊來制作腳本工具,以提升工作效率。
梳理之后,目標就會被分解成一個個需要完成的具體任務。
拆分任務
3.搜集知識資源
學習過程中必然少不了各種學習資料,在搜集知識資源時主要側重三方面:書籍、官方文檔和網(wǎng)絡技術文章。
我學習的是python3.x版本,首先找的就是python的官方文檔,內(nèi)容既權威又全面。(英語確實是道坎。)其次書籍買的是《Python基礎教程(第2版)》、《Python網(wǎng)絡數(shù)據(jù)采集》,同時網(wǎng)上也下載了基本PDF電子書。
對于知識資源的搜集,還是要提醒大家注意一點,切勿做"收藏控"。很多朋友對于書籍、各種教程、網(wǎng)絡文章等資源,購買了下載了收藏了,然后,就沒有然后了,最終真的淪落為"收藏品"。而我們真正要做的是要把知識"收藏"并沉淀到我們腦子里。
4.分配自身資源
其實就是時間管理。我們時間、精力等各方面資源有限,所有的知識不可能平均分配有限資源。對于我們搜集的知識資源,要分清主次,然后使用不同的時間管理策略進行學習。
前面梳理了一些需要執(zhí)行的學習任務,并整理了大量的學習資源,這一步要做的就是將這些任務、資源結合自身的實際情況,合理規(guī)劃分配時間精力。每個人的情況不同,所以這一步因人而異.
5.勤學
學習效率與效果取決于執(zhí)行力。之前文章介紹過學習過程中的一些方法論,這里我簡要地介紹一下學習python時的大體過程。
a.快速泛讀
如果你有一定語言基礎,比如我之前學過C、PHP語言,再學起python來上手就相對快一些?;镜恼Z法知識可以先快速過一遍,像python的模塊庫、對象等知識可以先了解基本的應用流程,具體的細節(jié)問題在后面的使用操作時在深入研究。
b.深入解讀
由淺入深地沉淀每個知識點。python的語法與其他語言還是有區(qū)別的,比如列表、字典、循環(huán)結構等,而且python2和python3在語法上也有些變動。雖然我直接學習的python3,但python2的一些不同之處還是要了解的,畢竟很多python資源模塊在2上已經(jīng)很成熟了。
c.問題攻讀
對于學習過程中遇到的問題,先查閱資料或谷歌來解決。比如python2和3的區(qū)別,作為爬取模塊的requests、urllib、pycurl、tornado的區(qū)別等等。如果有難以解決的問題,可以先記下,或許后面會柳暗花明或找他人幫助。
這一步學習的正確姿勢是在實踐操作中發(fā)掘問題,然后帶著問題找答案。
6.建立知識體系
不要以為這一步可有可無,建立知識體系有助于幫我們理清各個概念和知識點之間的關聯(lián),逐漸形成系統(tǒng)的知識體系?;谇懊娴拇罅糠鹤x和深入解讀,我們可以逐步構建出一個知識體系。
7.好問
基于前面問題攻讀后還有未解決的問題,就要求教他人獲取幫助了。提問也是一門藝術,這仍是一個學習交流的過程,而不是讓別人去解決原本你該解決的問題。
向別人提問求助時,要講問題的來龍去脈講清楚,如怎么引起的,自己嘗試做了哪些操作等等。這些年在眾多技術交流社群和平臺,見過很多奇葩的提問方式,這里列幾個,與大家共勉。
a.直拋結果型
直接甩出一張截圖或錯誤提醒,并附上一句:怎么解決?怎么破?跪求科普……
b.不懂就問型
不動腦,不動手,碰到問題就問。這種選手即便幫他解決了問題,他也學不到東西。
c.懶人型
與前者類似,但更滑稽可笑,看到這種問題我個人向來直接無視。比如"這個問題是這樣操作么?","我這樣整對不對?","是點這里么?"……
8.分享復述
其實即便不提"費曼技巧",我們很多人在學習時都會用到分享復述這個方法。無論是演講、錄視頻、還是像我此刻這樣寫文章,其實都是在向他人闡述自己對知識的理解和觀點,然后大家會給自己一些反饋,比如你的錯誤、問題,接著自己再回歸到知識里完善不缺"漏洞",如此迭代學習。
小結
我將自己學習python的過程分為八步:
1.確立目標:沒有目標的學習是不會有結果和效果的。
2.拆分任務:將目標分解成具體可執(zhí)行的學習任務。
3.搜集知識資源:查閱官方文檔、購買書籍、搜集網(wǎng)絡干貨文章。
4.分配自身資源:合理分配時間精力,制定學習計劃。
5.勤學:強大的執(zhí)行力是學習的根本保障。
6.建立知識體系:將學習的知識在腦海里建立系統(tǒng)模型。
7.好問:避免孤立學習,但好問也要會問。
8.分享復述:檢驗學習成果,提高學習效果的最好方法。
以上內(nèi)容為大家介紹了學習Python的正確姿勢,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://m.2667701.com/