程式設計零基礎應當如何開始學習 Python?

yesye發表於2021-09-09

零基礎最重要的是什麼?找對基本方向!

下面將會從學習的基本過程,講講有助於新手學習的資料和方式有哪些。

幫助小白找到合適自己的學習方式。

學習的過程,無非就是下面這幾個流程,這就是學程式設計的基本方向

  • 一、獲取知識資訊(找到學什麼)

  • 二、思考理解(學懂是什麼)

  • 三、做題練習鞏固(強化防止忘記學了什麼)

  • 四、實戰做專案(學通能做什麼)


一、獲取知識資訊(找到學什麼)

Python知識資訊,可以從很多地方學到。總結一下,基本資訊攝取方向無非就是這幾個,看書,看網上資料,看影片,上網課,上培訓班。

如果你真的真的真的,完全完全完全,是零基礎,並且沒有對程式設計有強烈的學習慾望。

而且沒有本科理工類知識的學習基礎,也沒有了解過任何計算機的內容。

其他Python的好書雖然是好書,但是你零基礎可能會看到想睡覺....

所以我只推薦下面這兩本,比較豐富有趣適合純小白書:


圖片描述圖片描述


這兩本書都是 Head First 系列的,這套系列的書對於新手小白來說是有口皆碑了。

整套書,其實如果是學習能力還不錯的高中生,也可以拿來看,難度不大,深入淺出。

下面是京東自營的連結



京東圖書類好像雙十一有什麼滿減活動之類的,可以去關注一下,會有些優惠。

網上公開的Python學習教程也非常多,這裡推薦幾個非常主流且也飽受程式設計師好評的學習資源站。

Runoob 菜鳥教程

 


W3School 教程

 



廖雪峰 Python 教程

 

這幾個教程,你可以理解成是基本做菜指南,比較簡單直白的介紹了大多數 Python 使用到的功能。

至於選哪個,我個人認為都可以,都是相似的新手教程。


二、思考理解(學懂是什麼)

如果說前面這些知識資源是做菜指南,學懂就是指,理解做菜和核心思路。

書上可能教你,放油然後再放魚來煎,多久多久之後翻面。

學懂的話,你就知道煎所有東西都是類似的步驟。

學懂,不單只是知道書上/教程裡告訴了你什麼,更要知道的是,這些東西有什麼關聯。

並且要去主動思考,這個東西是不是還可以弄點別的什麼什麼花樣?

如果 xxxx 這樣,會不會發生 xxx 那樣的效果?

如果想要 zzzz 的效果,我需要做什麼?

在這個學習思考的過程中,是會產生很多小問題的,這時候如果有人來溝通答疑解惑,是最好的。

當然,你也可以自學,並且在網上互相發帖求助,溝通諮詢。

下面推薦幾個影片網站的課堂學習方式:


慕課網 Python 教程 (強烈安利)

 


中國大學MOOC 教程

 
圖片描述


在這裡面找需要的基礎Python課程即可。

在完成基礎內容學習之後,也可以自行到B站和油管找一些程式設計大佬博主來跟著進階學習。

學習的過程,如果想要找人一起討論問題,可以到下面這個知乎圈子裡發帖求助,裡面也很多大佬經常分享一些內容。

知乎圈子:程式設計入門交流圈  


三、做題練習鞏固(強化防止忘記學了什麼)

光說不練假把式

學程式設計是絕對絕對需要動手實踐的。

看書或者看教程,學會了某個語法或者某種用法,如果沒有自己親手試試,過不了兩天就會忘掉。

程式設計練習除了書本,網課等基礎練習題,還可以自己去刷刷其他習題。

鑑於是零基礎開始慢慢學的,就先不推薦 LeeCode 這種比較猛的平臺了,容易刷的喪失自信。

這裡推薦一個非常有趣的刷題平臺。

Codewars

 

進到官網之後,先點 sign up 根據步驟註冊一個賬號

之後,進入 Kata 這個頁面


圖片描述


這是一個題庫頁面,裡面是海量的程式設計題。

可以根據自己的需求和情況,來不斷練習。

接下來,我們要找一些基礎的 Python 練習題。

在左邊這個位置,點選自己需要的設定。

Sort by 排序規則,選擇 Most Completed 最多人完成,

My language 選擇 Python 語言。

Difficulty 難度這裡,點選選擇 8 kyu,選最簡單的版本。


圖片描述圖片描述


完成上面的操作之後,我們就會看到一些基礎的簡單 Python 題了。


圖片描述


拿一道題舉例而言,看看需要怎麼做。

要注意,這個題庫裡有一些題可能是有問題無法驗證的,我們儘量避開不要選有這種 Issues Reported 正在有人反饋情況的題目。


圖片描述


我們選這題 Return Negative,在網頁上的 Return Negative 這一題的右邊,有大量的不同程式語言的logo。

我們點選雙蛇的這個 Python 的 logo,進入答題。


圖片描述


進入之後,會看到左邊是題目的描述。

右邊有兩個框框區域。

右上區是需要你完成的 實現程式碼 部分。

右下區是虛擬完成的 測試用例 部分。


圖片描述


先讀題,然後寫測試用例,然後再寫實現程式碼。

先讀題,然後寫測試用例,然後再寫實現程式碼。

先讀題,然後寫測試用例,然後再寫實現程式碼。



圖片描述


題目標題是 Return Negative 返回負數, 描述說這段提供的example,展示了這個函式在哪些輸入值的情況下,會輸出哪些值。

而且特別提示了,如果已經是負數,那就不用做任何變化。

很多時候裡面都是簡單英文,如果不熟悉可以藉助 Bing翻譯 或者 有道翻譯理解,順便學習英語。

(學英語對於程式設計還是很重要的,很多問題需要到外網查資料)


圖片描述


接著,我們來看右下角提供的 測試用例 部分,這裡簡單給了一個測試示例。

告訴我們,用這個函式,可以驗證 make_negative 函式在輸入42的時候得到的結果值,應該會和預期的 -42 值相同。

再來看看右上角部分,要求是我們實現這個函式。


圖片描述


現在開始做題

先讀題,然後寫測試用例,然後再寫實現程式碼。

想一想這個函式在基本正常情況,極端情況,邊界情況會輸出哪些數值。

比如負數,比如0。

這個測試用例對於程式設計學習而言是非常重要的,

它能夠幫助你從測試的角度,

在一開始就避免因為想當然或者忘記一些特殊情況,導致寫出非常低階錯誤的bug。

約是有難度的題目,這個測試的重要性就會越體現出來。

寫測試,能夠極大效率幫助你避免低階錯誤,從而提高寫程式碼的質量和速度。

我們先增加一些測試函式。


圖片描述


然後回頭看實現,這個要求我們返回負數,所以實現思路比較簡單。

對於負數和0,都會直接返回原來數字本身。

對於大於0的正數,會返回相反數,那麼相反數可以是 0減去這個數,或者是 -1 * 這個數。

也就是第一步,先判斷輸入進來的引數是不是大於零,然後對應做處理即可。


圖片描述


接下來,點選右下角的 Test 摁扭

用自己寫的測試用例,來測試一下自己的實現程式碼。


圖片描述


如果有某個 Test 不透過,不是全綠的情況,就說明有兩種可能

  • 你的測試用例寫錯了,程式輸出那個是對的,你測試驗證的值是錯的

  • 你的測試是正確的,實現程式碼出bug了

繼續修改,直到自己的 TEST 驗證透過,那麼就可以點選右下角的 ATTEMPT 摁扭,嘗試系統測試了。


圖片描述


提交答案之後,系統會執行一個批次測試的程式,來給你檢驗。

如果你最後得到的結果是 Passed: xx    Failed: 0

說明沒有失敗結果,全部透過,這樣你就透過了基礎驗證了。

接下來,點選右下角的 SUBMIT 正式提交答案。


圖片描述


提交完之後,你可以反饋做題的心情,還可以看到其他人的答案。


圖片描述


強烈建議在完成之後,看看其他人的解法。

有的時候,你很可能使用了一個非常繞而且不優雅的方式,完成了題目。

而一些大神,會用很巧妙很有意思,有些甚至很優雅的方式,

用非常漂亮的程式碼解決了問題。

參考並且學習他們的做法,也是一種非常重要的學習。

完成之後,你可以繼續點選右上角的 NEXT KATA 來預覽下一題,並且點選 TRAIN 來進入題目


圖片描述


如果你覺得題目太難,啃了三天三夜都做不出來,那麼也可以解鎖答案,參考其他人的解答。

在框框下面有一個 UNLOCK SOLUTIONS,點選這個即可


圖片描述圖片描述


當然如果直接看答案,這題就不會得分了,系統會記錄你的情況。

這種開發流程叫做 TDD(Test-Driven Development),測試驅動開發。

這個 Codewar 平臺非常有意思,有興趣的小夥伴可以繼續在裡面慢慢玩。


四、實戰做專案(學通能做什麼)

Python 其實是個比較靈活的膠水語言

可以拿來做批處理的指令碼,可以拿來做網路爬蟲,可以來寫web網頁前後端,可以單獨寫定時後臺服務,可以拿來做資料分析批次計算。

能做的事情非常多,多到可能零基礎小白學完之後不知道應該做什麼好。

其實做什麼,完全取決於你當初想學 Python 程式設計的目的是什麼。

如果你是想做後端開發的,那就去把資料庫也給學了,寫一個學生管理系統,實現基本的增刪查改。

如果你是想用程式excel資料處理的,那就直接上手寫指令碼,幫助自己解決日常重複機械的工作。

如果你是想拉取京東購物資料做分析的,那就去把http有關的東西瞭解下,上手去做一個爬蟲+分析。

實戰,完全取決於自己的需求。

如果你是完全蒙圈學完也沒有什麼目的,那就最好一開始別學,因為學了不用,很快就會荒廢的。

個人建議,實戰做專案可以嘗試自己搭建一個自己的部落格系統,做好之後,再試著把它放到雲伺服器上,註冊域名,接上公網,變成一個大家能看得到的真正的部落格。

當然,慕課網也有很多的實踐課程,如果是時間比較緊張,需要快速的提升

直接選一個合適的慕課網專案會更加省心省力。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2041/viewspace-2826473/,如需轉載,請註明出處,否則將追究法律責任。

相關文章