毫無疑問净嘀,Python 是當(dāng)下最火的編程語言之一奏寨。對于許多未曾涉足計(jì)算機(jī)編程的領(lǐng)域「小白」來說,深入地掌握 Python 看似是一件十分困難的事诺凡。其實(shí)东揣,只要掌握了科學(xué)的學(xué)習(xí)方法并制定了合理的學(xué)習(xí)計(jì)劃,Python 從 入門到精通只需要一個(gè)月就夠了腹泌!
樂字節(jié)來和大家講述下Python:
要知道嘶卧,一個(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)入模塊
第三天:簡單編程問題(5 小時(shí)):交換兩個(gè)變量值取董,將攝氏度轉(zhuǎn)換為華氏溫度棍苹,求數(shù)字中各位數(shù)之和,判斷某數(shù)是否為素?cái)?shù)茵汰,生成隨機(jī)數(shù)枢里,刪除列表中的重復(fù)項(xiàng)等等
第四天:中級編程問題(6 小時(shí)):反轉(zhuǎn)一個(gè)字符串(回文檢測),計(jì)算最大公約數(shù)蹂午,合并兩個(gè)有序數(shù)組栏豺,猜數(shù)字游戲,計(jì)算年齡等等
第五天:數(shù)據(jù)結(jié)構(gòu)(6 小時(shí)):棧豆胸,隊(duì)列奥洼,字典,元組晚胡,樹灵奖,鏈表嚼沿。
第六天:面向?qū)ο缶幊蹋∣OP)(6 小時(shí)):對象,類瓷患,方法和構(gòu)造函數(shù)伏尼,面向?qū)ο缶幊讨^承
第七天:算法(6 小時(shí)):搜索(線性和二分查找)、排序(冒泡排序尉尾、選擇排序)爆阶、遞歸函數(shù)(階乘、斐波那契數(shù)列)沙咏、時(shí)間復(fù)雜度(線性辨图、二次和常量)
別急著安裝 Python 環(huán)境!
這看起來很矛盾肢藐,但是你一定要相信我故河。我有幾個(gè)朋友,他們因?yàn)檎Z言工具包和 IDE 安裝的失敗而逐漸失去了學(xué)習(xí)下去的欲望吆豹。因此鱼的,我的建議是先使用一些安卓 app 來探索這門語言,或者在線代碼游樂場 Repl等等痘煤。如果你是個(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)建拉取請求(pull request)先誉。
第三天:第一個(gè)項(xiàng)目——簡單計(jì)算器(4 小時(shí)):熟悉 Tkinter湿刽,創(chuàng)建一個(gè)簡單的計(jì)算器
第四、五褐耳、六天:個(gè)人項(xiàng)目(每天 5 小時(shí)):選定一個(gè)項(xiàng)目并完成它诈闺。如果你不知道你該做什么,可以查看下面的清單
第七天:托管項(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并練習(xí)前 30 個(gè) Numpy 習(xí)題
第五、六天:作品集網(wǎng)站(一天 5 小時(shí)):學(xué)習(xí) Django台丛,使用 Django 構(gòu)建一個(gè)作品集網(wǎng)站耍缴,也要了解一下 Flask 框架。
第七天:單元測試挽霉、日志防嗡、調(diào)試(5 小時(shí)):學(xué)習(xí)單元測試(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)在我是一名高級開發(fā)人員贼邓。我妻子在美國一家大銀行工作阶冈。她花了 6 個(gè)月才完成本文中提到的任務(wù)。所以塑径,不管花多長時(shí)間女坑,一定要完成它們。
第四周:認(rèn)真考慮工作(實(shí)習(xí))問題
第 4 周的目標(biāo)是認(rèn)真思考如何才能被錄用统舀。即使你現(xiàn)在不想找工作匆骗,你也可以在探索這條道路的過程中學(xué)到很多東西。
第一天:準(zhǔn)備簡歷(5 小時(shí)):制作一份一頁的簡歷誉简。把你的技能總結(jié)放在最上面碉就,必須在寫項(xiàng)目的同時(shí)附上 Github 鏈接。
第二天:作品集網(wǎng)站(6 小時(shí)):寫幾個(gè)博客闷串,將它們添加到你之前開發(fā)的作品集網(wǎng)站中瓮钥。
第三天:LinkedIn 簡介(4 小時(shí)):創(chuàng)建一個(gè) LinkedIn 個(gè)人簡介,把簡歷上的所有內(nèi)容都放到 LinkedIn 上。
第四天:面試準(zhǔn)備(7 小時(shí)):準(zhǔn)備一些谷歌常見的面試問題骏庸,練習(xí)白皮書中的 10 個(gè)面試編程問題毛甲。在 Glassdoor、Careercup 等網(wǎng)站中查看前人遇到的面試問題具被。
第五天:社交(~小時(shí)):走出房門玻募,開始參加聚會(huì)、招聘會(huì)一姿,與其他開發(fā)人員和招聘人員見面七咧。
第六天:工作申請(~小時(shí)):搜索「Python Job」,查看 LinkedIn Job 和本地求職網(wǎng)站叮叹。選擇 3 個(gè)工作崗位并發(fā)送工作申請艾栋。為每個(gè)工作定制你的簡歷。在每個(gè)工作要求中找出 2 到 3 件你不知道的事情蛉顽,并在接下來的 3-4 天里學(xué)會(huì)它們蝗砾。
第七天:在拒絕中學(xué)習(xí)(~小時(shí)):每次你被拒絕的時(shí)候,找出兩件為了獲得這份工作你應(yīng)該知道的事情携冤,然后花 4-5 天 的時(shí)間來掌握它們悼粮。這樣,每次拒絕都會(huì)讓你成為更好的開發(fā)人員曾棕。
為工作做準(zhǔn)備
現(xiàn)實(shí)情況是扣猫,你永遠(yuǎn)不可能百分之百地為工作做好準(zhǔn)備。你所要做的就是精通一兩件事翘地,并且熟悉其它的事情申尤,最終通過面試。一旦你開始工作了衙耕,你會(huì)在工作過程中學(xué)到很多昧穿。
享受學(xué)習(xí)的過程
學(xué)習(xí)是一個(gè)過程,只要學(xué)習(xí)就會(huì)有挑戰(zhàn)臭杰。天道酬勤粤咪,你越努力,就會(huì)成為越優(yōu)秀的開發(fā)人員渴杆。
如果你能在 28 天內(nèi)完成所有的任務(wù),那你堪稱天才宪塔。然而磁奖,如果你能完成 60-70% 的內(nèi)容,你就已經(jīng)開始具備成為一名程序員的正確特征了某筐。
此文章轉(zhuǎn)載于樂字節(jié)