小白學Python不知道從哪裏入手?Python的詳細路線圖

在這個信息爆炸的時代,以 “Python入門” 爲關鍵字搜索出的結果成千上萬。不少小白選手難免會東一榔頭西一棒槌。

這是一篇 Python 入門指南,針對那些沒有任何編程經驗,從零開始學習 Python 的同學。不管你學習的出發點是興趣驅動、拓展思維,還是工作需要、想要轉行,都可以此文作爲一個參考。

小白學Python不知道從哪裏入手?Python學習路徑及練手項目合集

 

非誠勿擾:正在學習python的小夥伴或者打算學習的,可以加我建立的Python峮:扣扣裙:四八三五四六四一六

階段1:入門知識

零編程基礎的可以先從下面幾個教程瞭解編程及環境入門知識。(已有編程基礎直接從階段2起步

1. 編程新手指南:

https://www.shiyanlou.com/courses/63

2. Linux 基礎入門

https://www.shiyanlou.com/courses/1

3. Git 實戰教程

https://www.shiyanlou.com/courses/4

階段2:Python基礎

看完入門知識,就可以開始本階段的征程了。(Python2和3的教程可以選擇一個深入學習)

1. Python3 簡明教程

https://www.shiyanlou.com/courses/596

2. Python快速教程(基於Python 2.7)

https://www.shiyanlou.com/courses/214

階段3:Web框架

1. Python Django Web框架

https://www.shiyanlou.com/courses/30

2. Python Flask Web框架

https://www.shiyanlou.com/courses/29

階段4:基礎項目

1. Python 圖片轉字符畫

本實驗用 50 行 Python 代碼完成圖片轉字符畫小工具。通過本實驗將學習到 Linux 命令行操作,Python 基礎,pillow 庫的使用,argparse 庫的使用。

https://www.shiyanlou.com/courses/370

2. 200行Python代碼實現2048

本實驗僅用200行的 python 代碼完成2048小遊戲的編寫。學習 Python 基本知識,狀態機的概念,以及編寫 python 遊戲的步驟。

3. Python 破解驗證碼

本實驗通過一個簡單的例子來實現破解驗證碼。從中我們可以學習到 Python 基本知識,PIL 模塊的使用,破解驗證碼的原理。

https://www.shiyanlou.com/courses/364

4. Python3 圖片隱寫術

通過Python3實現將關鍵信息隱藏在圖片的效果,主要目的是爲了不讓預期接收者以外的人知曉傳遞的內容。與電視劇中使用特殊墨水傳遞信息一樣,表面看就是一張什麼都沒寫的白紙,實則暗藏着重要信息。

5. Python實現3D建模工具

本課程將基於OpenGL實現一般CAD軟件都會具備的基礎功能:渲染顯示3D空間的畫面並可以操作3D空間中物體。

階段5:網絡編程

略.....

階段6:數據與計算

階段7:綜合項目

問題解答:

1、通過學習python學會編程,從0到1的轉變(從不會寫代碼到會寫代碼解決問題)。這裏面有幾個誤區,很多零基礎初學者,想一步登天,循環都不會寫,就想玩django,玩項目。建議從從基礎訓練起,萬丈高樓從地起。基礎不牢,後面學習會很困難。

2、說說爲啥你書會也能看懂,免費視頻也看了,但是還不會自己寫代碼。這個原因是你看了一些照着ppt唸的視頻,沒有講編程思路,沒有作業訓練,沒有人答疑,沒有人點破造成的。

新手小白入門Python的詳細路線圖

 

何爲編程思路,望文生義,思路,思考的道路,方向也。就是說,從哪裏下手,從哪裏着手解決問題。

其實就是計算思維的具體體現,用語法來表達解決問題的方法、算法。

沒有人天生會編程,計算機科學家總結了很多解決問題的方法(也就是算法),現在學習編程,不是從頭自己發明算法,不是重新造輪子,站在巨人的肩膀上,學習計算機科學家總結出來的解決方法,利用

這些成熟的算法,組合和微創新來解決自己的問題。

編程思路是訓練出來的(自我訓練或者跟着別人學習)。

提醒大家解決問題時,要將任務切分,大問題化解爲小問題,其中有的小問題,已經有成熟的解決方案,直接拿來用,

剩下不會求解的小問題,那麼就集中解決它。

訓練就是要學習成熟的解決問題的方法:if 語句用來做分支判斷,循環用來解決反覆運算的問題。

窮舉法、遞推、遞歸、排序、回溯等等(如果需要當專業程序員,需要學習數據結構和算法,設計模式等等,需要學的東西很多很多。但首先要解決的一個問題是自己能寫代碼解決一般問題。)

訓練函數抽象,類抽象解決問題。

如對有序數組,查找特定數值,沒有經過訓練,初學者,直接用循環遍歷。

如果經過二分法算法的訓練,下次碰到這樣的問題,就用二分法求解。

做習題,要像開發項目的流程一樣(需求->需求分析->設計->編碼->測試->交付等),拿到一個習題,還沒有進行分析,就匆匆忙忙敲代碼,這個學習方法,是不好的學習方法。

先要分析清楚題目(所謂的需求分析,何爲需求分析,請自己搜索),再設計,用那種數據類型(數據結構)來組織或保存數據,用何種算法來計算效率最高,用面向過程,還是面向對象的編程範式,還是用函數式編程等等。

設計後,再編寫代碼,最後寫測試。(也可以採用軟件開發過程中的應用方法,測試驅動開發等)

微軟都積極擁抱Linux,你說你該學習Linux嗎?

3、當你通過學習python學會編程後,應該更一步學習數據結構和算法。

學習數據結構和算法爲了使你的代碼更有效率,爲了構建更大的項目。

當企業招聘員工時,當應聘者提供不了項目代碼,那怎麼考察應聘者的能力。

唯一方法,做面試題。面試題考算法題啊,所以要學習數據結構和算法。

4、企業爲了節省成本,紛紛打出所謂全棧工程師,這個就要求會javascript。

當應聘web開發職位時,會javascript有加分作用。

目前開發web模式以,torando,django,flask等爲後臺提供API,前端以javascript 框架負責html5 展示數據。

所以要學習javascript。

5、最後說說溝通技巧。

程序員爲啥要學習溝通技巧?現在開發都是團隊開發,團隊最需要溝通,不能很好的溝通,項目開發會跑偏,不符合需求。

初學者先從如何提好問題訓練起,有的朋友提問,貼一個圖片,不提供報錯信息,不提供源代碼文本文件,你難道要讓回答者對着圖片敲一遍,幫你調試嗎?

提問一定要說清楚,道明白,讓人一看就明白你在說的是啥。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章