毫無疑問,Python是當下最火的編程語言之一。對于許多未曾涉足計算機編程的領域「小白」來說,深入地掌握Python看似是一件十分困難的事。其實,只要掌握了科學的學習方法并制定了合理的學習計劃,Python從入門到精通只需要一個月就夠了!
要知道,一個月是一段很長的時間。如果每天堅持用6-7小時來做一件事,你會有意想不到的收獲。
作為初學者,第一個月的月目標應該是這樣的:
熟悉基本概念(變量,條件,列表,循環(huán),函數(shù))
練習超過30個編程問題
利用這些概念完成兩個項目
熟悉至少2個框架
開始使用集成開發(fā)環(huán)境(IDE),Github,hosting,services等
整體計劃
現(xiàn)在,我們先將月計劃細化成周計劃。
第一周:熟悉Python
要積極探索Python的使用方法,盡可能多的完成下面這些任務:
第一天:基本概念(4小時):print,變量,輸入,條件語句
第二天:基本概念(5小時):列表,for循環(huán),while循環(huán),函數(shù),導入模塊
第三天:簡單編程問題(5小時):交換兩個變量值,將攝氏度轉(zhuǎn)換為華氏溫度,求數(shù)字中各位數(shù)之和,判斷某數(shù)是否為素數(shù),生成隨機數(shù),刪除列表中的重復項等等
第四天:中級編程問題(6小時):反轉(zhuǎn)一個字符串(回文檢測),計算最大公約數(shù),合并兩個有序數(shù)組,猜數(shù)字游戲,計算年齡等等
第五天:數(shù)據(jù)結構(6小時):棧,隊列,字典,元組,樹,鏈表。
第六天:面向?qū)ο缶幊?OOP)(6小時):對象,類,方法和構造函數(shù),面向?qū)ο缶幊讨^承
第七天:算法(6小時):搜索(線性和二分查找)、排序(冒泡排序、選擇排序)、遞歸函數(shù)(階乘、斐波那契數(shù)列)、時間復雜度(線性、二次和常量)
別急著安裝Python環(huán)境!
這看起來很矛盾,但是你一定要相信我。我有幾個朋友,他們因為語言工具包和IDE安裝的失敗而逐漸失去了學習下去的欲望。因此,我的建議是先使用一些安卓app來探索這門語言,比如編程英雄或者在線代碼游樂場Repl等等。如果你是個技術小白,安裝Python環(huán)境可不是你的首要任務。
第二周:開始軟件開發(fā)(構建項目)
接下來,讓我們朝著軟件開發(fā)任務進軍吧!不妨嘗試綜合你學到的知識完成一個實際的項目:
第一天:熟悉一種IDE(5小時):IDE是你在編寫大型項目時的操作環(huán)境,所以你需要精通一個IDE。在軟件開發(fā)的初期,我建議你在VScode中安裝Python擴展或使用Jupyternotebook。
第二天:Github(6小時):探索Github,并創(chuàng)建一個代碼倉庫。嘗試提交(Commit)、查看變更(Diff)和上推(Push)你的代碼。另外,還要學習如何利用分支工作,如何合并(merge)不同分支以及如何在一個項目中創(chuàng)建拉取請求(pullrequest)。
第三天:第一個項目——簡單計算器(4小時):熟悉Tkinter,創(chuàng)建一個簡單的計算器
第四、五、六天:個人項目(每天5小時):選定一個項目并完成它。
第七天:托管項目(5小時):學習使用服務器和hosting服務來托管你的項目。創(chuàng)建一個Heroku設置并部署你構建的應用程序。
為什么要寫項目?
如果僅僅按部就班地學習課堂上或視頻中的內(nèi)容,你無法擁有獨立思考能力。所以,你必須把你的知識應用到一個項目中。當你努力尋找答案時,你也在慢慢地學會這些知識。
第三周:讓自己成為一名程序員
第3周的目標是熟悉軟件開發(fā)的整體過程。你不需要掌握所有的知識,但是你應該知道一些常識,因為它們會影響你的日常工作。
第一天:數(shù)據(jù)庫基礎(6小時):基本SQL查詢(創(chuàng)建表、選擇、Where查詢、更新)、SQL函數(shù)(Avg、Max、Count)、關系數(shù)據(jù)庫(規(guī)范化)、內(nèi)連接、外連接等
第二天:使用Python數(shù)據(jù)庫(5小時):利用一種數(shù)據(jù)庫框架(SQLite或panda),連接到一個數(shù)據(jù)庫,在多個表中創(chuàng)建并插入數(shù)據(jù),再從表中讀取數(shù)據(jù)。
第三天:API(5小時):如何調(diào)用API。學習JSON、微服務(micro-service)以及表現(xiàn)層應用程序轉(zhuǎn)換應用程序接口(RestAPI)。
第四天:Numpy(4小時):熟悉Numpy并練習前30個Numpy習題
第五、六天:作品集網(wǎng)站(一天5小時):學習Django,使用Django構建一個作品集網(wǎng)站,也要了解一下Flask框架。
第七天:單元測試、日志、調(diào)試(5小時):學習單元測試(PyTest),如何設置和查看日志,以及使用斷點調(diào)試。
真心話時間(絕密)
如果你非常「瘋狂」,并且非常專注,你可以在一個月內(nèi)完成這些任務。你必須做到:
把學習Python作為你的全職活動。你需要從早上8點開始學習,一直到下午5點。在此期間,你可以有一個午休時間和茶歇時間(共1小時)。
8點列出你今天要學的東西,然后花一個小時復習和練習你昨天學過的東西。
從9點到12點:開始學習,并進行少量練習。在午飯后,你需要加大練習量,如果你卡在某個問題上,可以在網(wǎng)上搜索解決方案。
嚴格保持每天4-5小時的學習時間和2-3小時的練習時間(每周最多可以休息一天)。
你的朋友可能會認為你瘋了。走自己的路,讓別人去說吧!
如果你有一份全職工作,或者你是一名學生,完成這些流程可能需要更長的時間。作為一名全日制學生,我花了8個月的時間來完成這份清單?,F(xiàn)在我是一名高級開發(fā)人員。我妻子在美國一家大銀行工作。她花了6個月才完成本文中提到的任務。所以,不管花多長時間,一定要完成它們。
第四周:認真考慮工作(實習)問題
第4周的目標是認真思考如何才能被錄用。即使你現(xiàn)在不想找工作,你也可以在探索這條道路的過程中學到很多東西。
第一天:準備簡歷(5小時):制作一份一頁的簡歷。把你的技能總結放在最上面,必須在寫項目的同時附上Github鏈接。
第二天:作品集網(wǎng)站(6小時):寫幾個博客,將它們添加到你之前開發(fā)的作品集網(wǎng)站中。
第三天:LinkedIn簡介(4小時):創(chuàng)建一個LinkedIn個人簡介,把簡歷上的所有內(nèi)容都放到LinkedIn上。
第四天:面試準備(7小時):準備一些谷歌常見的面試問題,練習白皮書中的10個面試編程問題。在Glassdoor、Careercup等網(wǎng)站中查看前人遇到的面試問題。
第五天:社交(~小時):走出房門,開始參加聚會、招聘會,與其他開發(fā)人員和招聘人員見面。
第六天:工作申請(~小時):搜索「PythonJob」,查看LinkedInJob和本地求職網(wǎng)站。選擇3個工作崗位并發(fā)送工作申請。為每個工作定制你的簡歷。在每個工作要求中找出2到3件你不知道的事情,并在接下來的3-4天里學會它們。
第七天:在拒絕中學習(~小時):每次你被拒絕的時候,找出兩件為了獲得這份工作你應該知道的事情,然后花4-5天的時間來掌握它們。這樣,每次拒絕都會讓你成為更好的開發(fā)人員。
為工作做準備
現(xiàn)實情況是,你永遠不可能百分之百地為工作做好準備。你所要做的就是精通一兩件事,并且熟悉其它的事情,最終通過面試。一旦你開始工作了,你會在工作過程中學到很多。
享受學習的過程
學習是一個過程,只要學習就會有挑戰(zhàn)。天道酬勤,你越努力,就會成為越優(yōu)秀的開發(fā)人員。
如果你能在28天內(nèi)完成所有的任務,那你堪稱天才。然而,如果你能完成60-70%的內(nèi)容,你就已經(jīng)開始具備成為一名程序員的正確特征了。
以上內(nèi)容為大家介紹了python從入門到精通,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://m.2667701.com/