六星源課堂:Python小白逆襲需要多久
毫無疑問,Python 是當(dāng)下最火的編程語言之一。對(duì)于許多未曾涉足計(jì)算機(jī)編程的領(lǐng)域「小白」來說,深入地掌握 Python 看似是一件十分困難的事。其實(shí),只要掌握了科學(xué)的學(xué)習(xí)方法并制定了合理的學(xué)習(xí)計(jì)劃,Python 從 入門到精通只需要一個(gè)月足矣!

要知道,一個(gè)月是一段很長的時(shí)間。如果每天堅(jiān)持用 6-7 小時(shí)來做一件事,你會(huì)有意想不到的收獲。
作為初學(xué)者,第一個(gè)月的月目標(biāo)應(yīng)該是這樣的:熟悉基本概念(變量,條件,列表,循環(huán),函數(shù))
練習(xí)超過 30 個(gè)編程問題? ? 利用這些概念完成兩個(gè)項(xiàng)目? ? ?熟悉至少 2 個(gè)框架? ? 開始使用集成開發(fā)環(huán)境(IDE),Github,hosting,services 等
整體計(jì)劃
現(xiàn)在,我們先將月計(jì)劃細(xì)化成周計(jì)劃。
第一周:熟悉 Python
要積極探索 Python 的使用方法,盡可能多的完成下面這些任務(wù):
第一天:基本概念(4 小時(shí)):print,變量,輸入,條件語句
第二天:基本概念(5 小時(shí)):列表,for 循環(huán),while 循環(huán),函數(shù),導(dǎo)入模塊
第三天:簡(jiǎn)單編程問題(5 小時(shí)):交換兩個(gè)變量值,將攝氏度轉(zhuǎn)換為華氏溫度,求數(shù)字中各位數(shù)之和,判斷某數(shù)是否為素?cái)?shù),生成隨機(jī)數(shù),刪除列表中的重復(fù)項(xiàng)等等
第四天:中級(jí)編程問題(6 小時(shí)):反轉(zhuǎn)一個(gè)字符串(回文檢測(cè)),計(jì)算最大公約數(shù),合并兩個(gè)有序數(shù)組,猜數(shù)字游戲,計(jì)算年齡等等
第五天:數(shù)據(jù)結(jié)構(gòu)(6 小時(shí)):棧,隊(duì)列,字典,元組,樹,鏈表。
第六天:面向?qū)ο缶幊蹋∣OP)(6 小時(shí)):對(duì)象,類,方法和構(gòu)造函數(shù),面向?qū)ο缶幊讨^承
第七天:算法(6 小時(shí)):搜索(線性和二分查找)、排序(冒泡排序、選擇排序)、遞歸函數(shù)(階乘、斐波那契數(shù)列)、時(shí)間復(fù)雜度(線性、二次和常量)
別急著安裝 Python 環(huán)境!
這看起來很矛盾,但是你一定要相信我。我有幾個(gè)朋友,他們因?yàn)檎Z言工具包和 IDE 安裝的失敗而逐漸失去了學(xué)習(xí)下去的欲望。因此,我的建議是先使用一些安卓 app 來探索這門語言,比如編程英雄(https://play.google.com/store/apps/details?id=com.learnprogramming.codecamp)或者在線代碼游樂場(chǎng) Repl(https://repl.it/)等等。如果你是個(gè)技術(shù)小白,安裝 Python 環(huán)境可不是你的首要任務(wù)。
第二周:開始軟件開發(fā)(構(gòu)建項(xiàng)目)
接下來,讓我們朝著軟件開發(fā)任務(wù)進(jìn)軍吧!不妨嘗試綜合你學(xué)到的知識(shí)完成一個(gè)實(shí)際的項(xiàng)目:
第一天:熟悉一種 IDE(5 小時(shí)): IDE 是你在編寫大型項(xiàng)目時(shí)的操作環(huán)境,所以你需要精通一個(gè) IDE。在軟件開發(fā)的初期,我建議你在 VS code 中安裝 Python 擴(kuò)展或使用 Jupyter notebook。
第二天:Github(6小時(shí)):探索Github,并創(chuàng)建一個(gè)代碼倉庫。嘗試提交(Commit)、查看變更(Diff)和上推(Push)你的代碼。另外,還要學(xué)習(xí)如何利用分支工作,如何合并(merge)不同分支以及如何在一個(gè)項(xiàng)目中創(chuàng)建拉取請(qǐng)求(pullrequest)。
第三天:第一個(gè)項(xiàng)目——簡(jiǎn)單計(jì)算器(4 小時(shí)):熟悉 Tkinter,創(chuàng)建一個(gè)簡(jiǎn)單的計(jì)算器
第四、五、六天:個(gè)人項(xiàng)目(每天5小時(shí)):選定一個(gè)項(xiàng)目并完成它。如果你不知道你該做什么,可以查看下面的清單(https://www.quora.com/what-some-goodpythonprojects -for-an- middle - programmer/answer/jhankar - mahbub2)
第七天:托管項(xiàng)目(5 小時(shí)):學(xué)習(xí)使用服務(wù)器和 hosting 服務(wù)來托管你的項(xiàng)目。創(chuàng)建一個(gè) Heroku 設(shè)置并部署你構(gòu)建的應(yīng)用程序。
為什么要寫項(xiàng)目?
如果僅僅按部就班地學(xué)習(xí)課堂上或視頻中的內(nèi)容,你無法擁有獨(dú)立思考能力。所以,你必須把你的知識(shí)應(yīng)用到一個(gè)項(xiàng)目中。當(dāng)你努力尋找答案時(shí),你也在慢慢地學(xué)會(huì)這些知識(shí)。
第三周:讓自己成為一名程序員
第 3 周的目標(biāo)是熟悉軟件開發(fā)的整體過程。你不需要掌握所有的知識(shí),但是你應(yīng)該知道一些常識(shí),因?yàn)樗鼈儠?huì)影響你的日常工作。
第一天:數(shù)據(jù)庫基礎(chǔ)(6 小時(shí)):基本 SQL 查詢(創(chuàng)建表、選擇、Where 查詢、更新)、SQL 函數(shù)(Avg、Max、Count)、關(guān)系數(shù)據(jù)庫(規(guī)范化)、內(nèi)連接、外連接等
第二天:使用 Python 數(shù)據(jù)庫(5 小時(shí)):利用一種數(shù)據(jù)庫框架(SQLite 或 panda),連接到一個(gè)數(shù)據(jù)庫,在多個(gè)表中創(chuàng)建并插入數(shù)據(jù),再從表中讀取數(shù)據(jù)。
第三天:API(5 小時(shí)):如何調(diào)用 API。學(xué)習(xí) JSON、微服務(wù)(micro-service)以及表現(xiàn)層應(yīng)用程序轉(zhuǎn)換應(yīng)用程序接口(Rest API)。
第四天:Numpy(4小時(shí)):熟悉 Numpy(https://towardsdatascience.com/lets-talk-about- Numpy-for- datascies-beginners-b8088722309f)并練習(xí)前 30 個(gè) Numpy習(xí)題(https://github.com/rougier/numpy-100/blob/master/100_numpy_excercises.md)
第五、六天:作品集網(wǎng)站(一天 5 小時(shí)):學(xué)習(xí) Django,使用 Django 構(gòu)建一個(gè)作品集網(wǎng)站(https://realpython.com/get- start-with-django -1/),也要了解一下 Flask 框架。
第七天:?jiǎn)卧獪y(cè)試、日志、調(diào)試(5 小時(shí)):學(xué)習(xí)單元測(cè)試(PyTest),如何設(shè)置和查看日志,以及使用斷點(diǎn)調(diào)試。
真心話時(shí)間(絕密)
如果你非?!腐偪瘛?,并且非常專注,你可以在一個(gè)月內(nèi)完成這些任務(wù)。你必須做到:
把學(xué)習(xí) Python 作為你的全職活動(dòng)。你需要從早上 8 點(diǎn)開始學(xué)習(xí),一直到下午 5 點(diǎn)。在此期間,你可以有一個(gè)午休時(shí)間和茶歇時(shí)間(共 1 小時(shí))。
8 點(diǎn)列出你今天要學(xué)的東西,然后花一個(gè)小時(shí)復(fù)習(xí)和練習(xí)你昨天學(xué)過的東西。
從 9 點(diǎn)到 12 點(diǎn):開始學(xué)習(xí),并進(jìn)行少量練習(xí)。在午飯后,你需要加大練習(xí)量,如果你卡在某個(gè)問題上,可以在網(wǎng)上搜索解決方案。
嚴(yán)格保持每天 4-5 小時(shí)的學(xué)習(xí)時(shí)間和 2-3 小時(shí)的練習(xí)時(shí)間(每周最多可以休息一天)。
你的朋友可能會(huì)認(rèn)為你瘋了。走自己的路,讓別人去說吧!
如果你有一份全職工作,或者你是一名學(xué)生,完成這些流程可能需要更長的時(shí)間。作為一名全日制學(xué)生,我花了8 個(gè)月的時(shí)間來完成這份清單。現(xiàn)在我是一名高級(jí)開發(fā)人員。我妻子在美國一家大銀行工作。她花了 6個(gè)月才完成本文中提到的任務(wù)。所以,不管花多長時(shí)間,一定要完成它們!
以上就是本次分享的全部內(nèi)容,想要學(xué)習(xí)編程的小伙伴們,歡迎前往六星源課堂,獲取更多技能與教程。?