當前位置: 妍妍網 > 碼農

給三分鐘熱度學習Python的同學的一條建議

2024-04-01碼農

最近公司來了一個實習生妹子,在讀商科碩士,平時我會讓她做做數據清洗的工作,她工作倒是賊認真,但對電腦屬於一竅不通,不會寫SQL,Ecxel也很菜,對於很簡單的取數往往會花很多的時間。

她向我倒苦水說,她在學校裏嘗試學過資料庫、SQL、Python、R,但沒有一個入了門,基本是學個兩三天就開始懷疑自己能力不行,屬於編程絕緣體那種。 我大概知道她的困惑,其實原因也很簡單,她太缺乏練習了,一直用意念學編程,這哪夠呢?

就拿Python來說,Python是典型的入門簡單、深入套用難的程式語言,想要精進Python,唯一的方法就是練習,保證每天都有一定的程式碼量,不斷地寫指令碼、做計畫,切勿只看不做。

很多人盤桓在初學階段,沒多久就放棄了,就是沒領悟到「編程是一門實踐的藝術」。

如何去練習Python?

首先在新手階段,Python書籍、教程裏的每一段程式碼都要親手去敲一遍,體驗程式碼從輸入到輸出的閉環邏輯,這樣能讓你快速理解編程是怎麽回事,不至於一直抽象的去感受。

當你過了新手階段,也就是會安裝python、會使用IDE、了解基礎語法後,就扔掉教程,去解決具體問題。

Python能套用的場景很多,比如爬蟲、數據建模、機器學習、視覺化、搭建web、量化分析、辦公自動化等,你總能找到自己的痛點和需求。

舉個例子,你想爬取某電商商品數據,那麽就立馬幹起來,不要覺得python還不熟悉沒法做。

首先定位好需求,為什麽爬數據?爬哪些數據?什麽頻率爬?爬取的數據存在哪?爬好數據怎麽用?

接著確定技術方案,用request+xpath解決靜態網頁,用selenium解決動態網頁,或者其他工具。

這些技術用到的第三方庫可以即用即學,不會的去搜尋去看部落格,不要執著於語法細節,務必把鏈路跑通。

整個案例操作下來,你會對以前不熟悉的語法有更深的認知,也會掌握相關庫的用法,最重要的你有了使用python解決問題的意識,也知道怎麽去檢索。

所謂輸出倒逼輸入,深度套用即深度學習。

「抄襲」並不羞恥,copy才是毒藥

可能有人會說,遇到技術問題總是想不到好的程式碼思路。

這很簡單,去「抄襲」,去模仿,但不要copy。

你可以把別人的演算法、指令碼親手敲出來,放到自己的程式碼裏。這個過程需要加入自己的理解,因為程式碼可能需要微調、最佳化。

GitHub 上有無數成熟的python程式碼模組,你可以大膽地去模仿、借用,久而久之你也能寫出優秀的程式碼。

新手去哪裏找Python練手計畫?

Python作為目前最主流的程式語言之一,很多網站、比賽都能找到大量的開源計畫,比如github、kaggle、gitee、kecsi、tianchi等等。

這裏重點講講Github,Github是綜合的程式碼網站,擁有世界上最多的python資源。

如果你用Github搜Python,會出現兩百多萬個結果,也就是說這麽多repository都和Python有關

這是什麽概念呢?這個數位幾乎是所有程式語言中最多的,而且遠遠超過C++、JavaScript等

簡單推薦幾個Python倉庫,初學者沒事可以多去瞅瞅。

Awesome Python

這個計畫收集了Python生態中各領域核心第三方庫,內容包括:Web 框架、網路爬蟲、網路內容提取、樣版引擎、資料庫、數據視覺化、圖片處理、文本處理、自然語言處理、機器學習、日誌、代分碼析等

比如說數據視覺化領域,就有matplotlib、seaborn、dash等庫,包含其文件連結及簡要介紹

這個計畫還有中文版

Python-100-Days

這是一個中文版python學習計畫,名叫Python - 100天從新手到大師。

作者以100天為周期,把Python從入門到進階的知識點分門別類,做成教程形式。

當然,這個教程不光有Python語法,還有爬蟲、數據分析、機器學習、資料庫、軟體測試、web開發等各種套用層知識,足夠讓你跨入Python世界的大門。

作者對於Python學習和就業的建議也非常中肯,這裏摘抄給大家參考。

計畫開頭給初學者的幾個建議,也值得好好體會

1、Make English as your working language. (讓英語成為你的工作語言)

2、Practice makes perfect. (熟能生巧)

3、All experience comes from mistakes. (所有的經驗都源於你犯過的錯誤)

4、Don't be one of the leeches. (不要當伸手黨)

5、Either outstanding or out. (要麽出眾,要麽出局)

My Python Examples

這是一個python指令碼案例大集合,作者總結了日常工作中的實用指令碼,包括檔整理、圖片處理、視訊下載、數據轉化等各種程式碼。

作者也說,他不是程式設計師,整理這些指令碼只是為了更方便快捷地解決問題。

我想這也是很多人學習python的訴求,為解決問題而學習,這是最高效的。

free-programming-books-zh_CN

這是一個免費技術書籍分享計畫,作者收集了IT領域各類主流中文/英文技術書,部份含有下載路徑或者電子書連結。

這其中主要是github和stackoverflow推薦的書籍,層層篩選,相信不會辜負讀者。

計畫裏你可以根據索引來選擇某種語言的書籍,其中python書籍非常豐富,包含了cookbook、thinkpython等經典書籍。

語法&第三方庫&套用

HelloGitHub

這是一個非常受歡迎的開源計畫分享計畫,作者每周都會篩選github上流行的計畫,按語言型別匯總成一個雜誌式看板。

該計畫內容包括:有趣、入門級的開源計畫、開源書籍、實戰計畫、企業級計畫等,包括Python等各種語言。

裏面的很多Python計畫非常有意思,大家可以去看看,模仿好東西是怎麽開發出來的。

其實網上到處是Python的學習資源,你想要自學,壓根就不需要去買什麽課程,如果這點學習和檢索能力都沒有,那還怎麽工作幹活啊。

說到底,練習是學習編程最重要的能力和基礎,脫離了練習,其他的努力都是空中樓閣啊。

加入知識星球 【我們談論數據科學】

600+ 小夥伴一起學習!