我(非科班)自學python,基本的語法掌握,但是編程能力很差,不能實踐,怎樣擺脫困境?

高朝波


首先要明確為什麼學習python?

python是一種被廣泛使用的高級編程語言,其代碼語法簡潔、可讀性強,並且具有豐富和強大的庫。python簡單易學,應用廣泛,web開發、爬蟲、運維、人工智能……可以說無所不能。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.分配自身資源

其實就是時間管理。我們時間、精力等各方面資源有限,所有的知識不可能平均分配有限資源。對於我們蒐集的知識資源,要分清主次,然後使用不同的時間管理策略進行學習。

前面梳理了一些需要執行的學習任務,並整理了大量的學習資源,這一步要做的就是將這些任務、資源結合自身的實際情況,合理規劃分配時間精力。每個人的情況不同,所以這一步因人而異,這裡我還是藉助“然之協同”的待辦工具,做一個具體可執行性的學習計劃。


騎著摩托去取經的唐僧


一個非常好的問題。有了一定編程基礎知識後,要多寫代碼,多總結,逐步積累自己的知識庫和實際經驗。

一,多寫代碼

推薦一個在線編程網站,HackerRank,看名字就知道很牛,Hacker排行榜,裡面有多種編程語言,不同難度、針對初學者的編程練習題。

1,註冊賬號,登錄,選擇要練習的Python語言

2,選擇題目,可以篩選難度、功能類別

3,編寫代碼,運行,通過測試後提交

4,積累到一定分數後,獲得Python勳章

網站功能還有成績查詢、榜單排名、參加競賽等。

二,參加開源項目

現在Python是一門使用非常普遍的開發語言,尤其是在AI軟件開發領域。多到Github上面尋找,選擇有興趣的開源項目,嘗試參與開發。

1. 選擇有興趣的項目,仔細閱讀文檔和代碼,查看歷史提交記錄,這個過程本身也能學到很多知識

2. 閱讀代碼,重點理解怎麼寫?為什麼這樣寫?有沒有更好的寫法?

3. 按照開源社區的代碼標準,開發提交代碼,完成單元測試


我是工作多年的Web應用架構師,陸續發佈關於軟件開發方面的文章,歡迎關注我,瞭解更多IT專業知識。

Java開發Web服務:StarterApi後臺管理系統:StarterAdminDocker部署:StarterDeploy產品原型開發:Track, Kitchen Python開發AI處理服務:starter_serviceAI應用開發:aiChat, aiWriter 如何獲取源碼:私信“源碼客”獲取下載地址。


急速馬力快de源碼控


這個問題是很多自學編程語言同學的通病。究其原因是第一學習方法有錯誤,第二缺少一個懂得人指導一下,第三知識掌握的還不夠。作為一個多年IT老油條分享一些自己的經驗,供參考。

指定一個合理的學習計劃

學習編程語言,最好有一個學習計劃。計劃裡面要寫清楚每天學習的內容、學習的時間。內容包括:學習的知識點,學習的過程中要重點練習的內容,知識點的熟悉程度,需要及時複習的知識點。學習時間包括:掌握知識用的時間和練習代碼的時間,個人認為對知識點練習的時間應該大多學習知識點的時間。最後還要有複習回顧的時間。制定一個好的機會要少走很多彎路。



多請教別人,多去交流學習心得

你可能會說,自己身邊沒有專業的人。但這個不重要,現在是信息時代,網上各種群,各種論壇,想找個懂得人還是挺容易的,自學編程語言切記不要閉門造車,要多去交流。綜合一下大家的方法,補充自己的不足之處。自己瞎琢磨不但容易鑽牛角尖,浪費時間,還打擊自己學習的信心。有時候一個難懂的知識點可能就會成為壓死駱駝的最後一顆稻草,最後半途而廢,甚是可惜。

編程語言的學習並不是聽懂就可以了,這個學習更像是數學的學習一樣,一定要動手去練習。對每一個知識點學習完之後,都要寫大量的代碼進行練習。每天保證500-1000行的剛性代碼量。好的程序員都是大量代碼堆起來的,這決定了你的水平。

學完基本語法只能算入門

根據你的描述,自己學完了基礎語言。對於Python來說基礎語言太簡單了,我一個有基礎的同事用了一個上午就學完Python的基礎課程,但是後面的知識陸續用了一個月才算基本掌握。所以對於你的編程道路來說這才剛剛開始,不會寫程序也是正常的。

那麼怎麼突破瓶頸呢?

無論說多少方法,都是沒用的,還是代碼量決定著一切。學完了初級的課程就應該要找相關的項目進行大量的練習。項目也好找,網上挺多的。紮實基礎知識。基礎紮實了就可以進行下一部分學習了,方法還是一樣,大量練習!等中級學完以後就要想著自己的發展方向選擇更高級的課程了。


分享到:


相關文章: