程式設計零基礎應當如何開始學習 Python?
零基礎最重要的是什麼?找對基本方向!
下面將會從學習的基本過程,講講有助於新手學習的資料和方式有哪些。
幫助小白找到合適自己的學習方式。
學習的過程,無非就是下面這幾個流程,這就是學程式設計的基本方向:
一、獲取知識資訊(找到學什麼)
二、思考理解(學懂是什麼)
三、做題練習鞏固(強化防止忘記學了什麼)
四、實戰做專案(學通能做什麼)
一、獲取知識資訊(找到學什麼)
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計零基礎應該如何開始學習Python?程式設計Python
- 程式設計零基礎應當如何學習Python?Python學習程式設計Python
- 如何以零基礎學習Python程式設計?Python程式設計
- 零基礎怎麼開始學習UI設計?UI
- 零基礎學it怎麼學?Python開發程式設計學習Python程式設計
- 如何開始函式程式設計的學習?函式程式設計
- 零基礎如何學習好Python開發?Python
- Python零基礎好學嗎?零基礎如何學習Python?Python
- 學習程式設計第一步 零基礎上手Python開發程式設計Python
- 程式設計完全零基礎,學習python的吐血總結!程式設計Python
- 零基礎如何迅速學習python?Python
- 從零基礎開始學習Python爬蟲你需要注意的點以及如何學習爬蟲Python爬蟲
- 零基礎學習程式設計,Java、Python你會選擇哪個?程式設計JavaPython
- 你應當如何學習C++(以及程式設計)(rev#1)C++程式設計
- 程式設計好學嗎?零基礎能學程式設計嗎?程式設計
- 注重程式碼習慣,Python零基礎從這本書籍開始!Python
- 零基礎學程式設計要花多久?程式設計
- 零基礎學習pythonPython
- 零基礎如何學Java?擁有程式設計思想呢?Java程式設計
- 零基礎如何學習雲端計算?雲端計算學習教程
- [譯文] 當你開始學習程式設計時,你最希望知道什麼?程式設計
- 【轉載】零基礎小白如何入門 Python 程式設計Python程式設計
- [轉載] 零基礎小白如何入門 Python 程式設計Python程式設計
- 好程式設計師Python培訓分享零基礎Python爬蟲學習線路程式設計師Python爬蟲
- 零基礎學UI設計應該怎麼學UI
- 風變程式設計,幫助你從零開始學習程式設計程式設計
- 好程式設計師大資料分享零基礎學習Hadoop該如何下手程式設計師大資料Hadoop
- 0基礎如何開始學習Python?看完這篇就懂了!Python
- 華瑞IT教育:零基礎如何學好java軟體程式設計Java程式設計
- 學程式設計要什麼基礎,零基礎呢?程式設計
- 13歲如何開始學習Python? - RedditPython
- 零基礎如何系統地學習前端開發?前端
- 零基礎Python學習路線Python
- 零基礎學習 Python 之字串Python字串
- 開始學習Python!Python
- 為什麼你該開始學習程式設計了?程式設計
- 零基礎如何學習雲端計算?雲端計算開發課程詳解
- 零基礎學習UI設計到底需要學些什麼?UI