摘要:勤學學習效率與效果取決于執行力。這一步學習的正確姿勢是在實踐操作中發掘問題,然后帶著問題找答案。拆分任務將目標分解成具體可執行的學習任務。勤學強大的執行力是學習的根本保障。分享復述檢驗學習成果,提高學習效果的最好方法。
前段時間和大家一起分享了一篇關于學習方法內容《大牛與搬運工的差距——學習方法的力量》。我們將學習過程分成八步,并借鑒了敏捷開發的迭代思想,以達到自我迭代學習的效果。行勝于言,理論結合實踐才是王道,所以本文我將基于前面的學習方法,分享我是如何學習python的。
為什么學習python?
“Life is short, you need Python!” ——Bruce Eckel
python是一種被廣泛使用的高級編程語言,其代碼語法簡潔、可讀性強,并且具有豐富和強大的庫。python簡單易學,應用廣泛,web開發、爬蟲、運維、人工智能……可以說無所不能。python去年還被列入了全國計算機等級考試科目,也逐步成為小白踏上編程之路的入門語言了。
“人生苦短,我用python!”用python干什么?這個因人而異,個人而言,我學習python主要用于兩個方向:爬蟲和運維,工作上可以幫助我們復雜工作簡單化,重復工作自動化,以及以后的人工工作智能化。
本文和大家探討的是學習python的方法,接下來我們就馬上開啟python的學習之旅。
1.確立目標
我對python的定位,其實就是一個提升工作效率的工具,我學習python的目的簡單明確,總的來說就兩個:
1.學習python語言,并能用它來爬取數據做數據分析;
2.使用python制作一些腳本工具,以幫助并提升工作效率。
2.拆分任務
我們通過逆向分解,將目標拆分成具體的可執行任務。這個過程其實就是將目標細分整理成具體的小目標或問題,然后將其關聯到一個個可執行的任務,目的是完成目標或解決問題。
完成我的兩個目標,需要具體學習哪些知識,完成哪些事項呢?第一個目標需要學習python的基本語法,像數據類型、邏輯結構、列表、元組、字典、引用等基礎知識,以及爬蟲相關的requests、urllib、pycurl、tornado等模塊。第二個目標則需要根據平時工作的實際需求,進一步借助python語言及相應模塊來制作腳本工具,以提升工作效率。
梳理之后,目標就會被分解成一個個需要完成的具體任務。這里我借助“然之協同”里的任務管理工具,將需要做的任務都羅列出來,方便后面執行跟蹤。
3.搜集知識資源
學習過程中必然少不了各種學習資料,在搜集知識資源時主要側重三方面:書籍、官方文檔和網絡技術文章。
我學習的是python 3.x版本,首先找的就是python的官方文檔,內容既權威又全面。(英語確實是道坎。)其次書籍買的是《Python基礎教程(第2版)》、《Python網絡數據采集》,同時網上也下載了基本PDF電子書。除此之外,還在CSDN、掘金、博客園等IT技術門戶里查閱一些python相關的“干貨”。
對于知識資源的搜集,還是要提醒大家注意一點,切勿做“收藏控”。很多朋友對于書籍、各種教程、網絡文章等資源,購買了下載了收藏了,然后,就沒有然后了,最終真的淪落為“收藏品”。而我們真正要做的是要把知識“收藏”并沉淀到我們腦子里。
4.分配自身資源
其實就是時間管理。我們時間、精力等各方面資源有限,所有的知識不可能平均分配有限資源。對于我們搜集的知識資源,要分清主次,然后使用不同的時間管理策略進行學習。
前面梳理了一些需要執行的學習任務,并整理了大量的學習資源,這一步要做的就是將這些任務、資源結合自身的實際情況,合理規劃分配時間精力。每個人的情況不同,所以這一步因人而異,這里我還是借助“然之協同”的待辦工具,做一個具體可執行性的學習計劃。
5.勤學
學習效率與效果取決于執行力。之前文章介紹過學習過程中的一些方法論,這里我簡要地介紹一下學習python時的大體過程。
a.快速泛讀
如果你有一定語言基礎,比如我之前學過C、PHP語言,再學起python來上手就相對快一些?;镜恼Z法知識可以先快速過一遍,像python的模塊庫、對象等知識可以先了解基本的應用流程,具體的細節問題在后面的使用操作時在深入研究。
b.深入解讀
由淺入深地沉淀每個知識點。python的語法與其他語言還是有區別的,比如列表、字典、循環結構等,而且python2和python3在語法上也有些變動。雖然我直接學習的python3,但python2的一些不同之處還是要了解的,畢竟很多python資源模塊在2上已經很成熟了。
c.問題攻讀
對于學習過程中遇到的問題,先查閱資料或谷歌來解決。比如python2和3的區別,作為爬取模塊的requests、urllib、pycurl、tornado的區別等等。如果有難以解決的問題,可以先記下,或許后面會柳暗花明或找他人幫助。
這一步學習的正確姿勢是在實踐操作中發掘問題,然后帶著問題找答案。
6.建立知識體系
不要以為這一步可有可無,建立知識體系有助于幫我們理清各個概念和知識點之間的關聯,逐漸形成系統的知識體系。基于前面的大量泛讀和深入解讀,我們可以逐步構建出一個知識體系。這里我借助xmind腦圖工具,整理了一下python的知識體系。
7.好問
基于前面問題攻讀后還有未解決的問題,就要求教他人獲取幫助了。提問也是一門藝術,這仍是一個學習交流的過程,而不是讓別人去解決原本你該解決的問題。
向別人提問求助時,要講問題的來龍去脈講清楚,如怎么引起的,自己嘗試做了哪些操作等等。這些年在眾多技術交流社群和平臺,見過很多奇葩的提問方式,這里列幾個,與大家共勉。
a.直拋結果型
直接甩出一張截圖或錯誤提醒,并附上一句:怎么解決?怎么破?跪求科普……
b.不懂就問型
不動腦,不動手,碰到問題就問。這種選手即便幫他解決了問題,他也學不到東西。
c.懶人型
與前者類似,但更滑稽可笑,看到這種問題我個人向來直接無視。比如“這個問題是這樣操作么?”,“我這樣整對不對?”,“是點這里么?”……
8.分享復述
其實即便不提“費曼技巧”,我們很多人在學習時都會用到分享復述這個方法。無論是演講、錄視頻、還是像我此刻這樣寫文章,其實都是在向他人闡述自己對知識的理解和觀點,然后大家會給自己一些反饋,比如你的錯誤、問題,接著自己再回歸到知識里完善不缺“漏洞”,如此迭代學習。
實戰演練
我之前整理的另外兩篇python實例:
《[實戰演練]python3使用requests模塊爬取頁面內容》
《Python3分析sitemap.xml抓取導出全站鏈接》
小結
我將自己學習python的過程分為八步:
1.確立目標:沒有目標的學習是不會有結果和效果的。
2.拆分任務:將目標分解成具體可執行的學習任務。
3.搜集知識資源:查閱官方文檔、購買書籍、搜集網絡干貨文章。
4.分配自身資源:合理分配時間精力,制定學習計劃。
5.勤學:強大的執行力是學習的根本保障。
6.建立知識體系:將學習的知識在腦海里建立系統模型。
7.好問:避免孤立學習,但好問也要會問。
8.分享復述:檢驗學習成果,提高學習效果的最好方法。
作者:GavinHsueh,專注項目管理、辦公自動化、網站建設等web應用開發領域。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41927.html
摘要:不同的人的路線圖版本會有所不同。尋找答案從一無所知到無所不知如果你在這個過程中多次遇到困難,在知難而退之前努力嘗試解決問題。并不是成為一個全面的開發人員所需要的唯一技能。首先進行一兩個月的學習階段,然后進入一個月的構建階段。 初級開發者學Python容易陷入茫然,面對市面上種類眾多的編程語言和框架,重要的是堅持自己的選擇,宜精不宜雜。本文是一篇指路文,概述了從編程基礎、引導、文檔閱讀、...
摘要:總之,要永遠做個學習者,但不僅僅只做學習者了解并踐行學習實踐階段循環任何創造性學科的學習都可以分兩個階段,學習階段和構建階段,彼此不斷重復。 初級開發者學Python容易陷入茫然,面對市面上種類眾多的編程語言和框架,重要的是堅持自己的選擇,宜精不宜雜。本文是一篇指路文,概述了從編程基礎、引導、文檔閱讀、書籍和視頻、源代碼等學習和積累環節,值得初學者參考。 作為一個開發者,為何要選擇Py...
摘要:前言羅子雄如何成為一名優秀設計師董明偉工程師的入門和進階董明偉基于自己實踐講的知乎為新人提供了很多實用建議,他推薦的羅子雄如何成為一名優秀設計師的演講講的非常好,總結了設計師從入門到提高的優秀實踐。 前言 羅子雄:如何成為一名優秀設計師 董明偉:Python 工程師的入門和進階 董明偉基于自己實踐講的知乎live為Python新人提供了很多實用建議,他推薦的羅子雄:如何成為一名優秀...
摘要:用注釋寫單元測試單元測試是代碼開發環節必不可少的一環,對于定位和代碼質量而言是非常重要的?,F在最廣為人知的單元測試框架就是,它借鑒了中成熟的單元測試框架的。 概述 showImg(https://segmentfault.com/img/bVD66s?w=550&h=550); 秦人不暇自哀,而后人哀之;后人哀之而不鑒之,亦使后人而復哀后人也! --論面向文檔編程的重要性 如果想看見識...
閱讀 1660·2021-11-16 11:41
閱讀 2456·2021-11-08 13:14
閱讀 3106·2019-08-29 17:16
閱讀 3079·2019-08-29 16:30
閱讀 1843·2019-08-29 13:51
閱讀 356·2019-08-23 18:38
閱讀 3223·2019-08-23 17:14
閱讀 630·2019-08-23 15:09