毫無疑問弛饭,Python 是當(dāng)下最火的編程語言之一。對于許多未曾涉足計算機(jī)編程的領(lǐng)域「小白」來說萍歉,深入地掌握 Python 看似是一件十分困難的事侣颂。其實,只要掌握了科學(xué)的學(xué)習(xí)方法并制定了合理的學(xué)習(xí)計劃枪孩,Python 從 入門到精通只需要一個月就夠了憔晒!
要知道,一個月是一段很長的時間蔑舞。如果每天堅持用 6-7 小時來做一件事拒担,你會有意想不到的收獲。作為初學(xué)者攻询,第一個月的月目標(biāo)應(yīng)該是這樣的:
熟悉基本概念(變量从撼,條件,列表钧栖,循環(huán)低零,函數(shù))
練習(xí)超過 30 個編程問題
利用這些概念完成兩個項目
熟悉至少 2 個框架
開始使用集成開發(fā)環(huán)境(IDE)呆馁,Github,hosting毁兆,services 等
整體計劃
現(xiàn)在浙滤,我們先將月計劃細(xì)化成周計劃。
第一周:熟悉 Python
要積極探索 Python 的使用方法气堕,盡可能多的完成下面這些任務(wù):
第一天:基本概念(4 小時):print纺腊,變量,輸入茎芭,條件語句
第二天:基本概念(5 小時):列表揖膜,for 循環(huán),while 循環(huán)梅桩,函數(shù)壹粟,導(dǎo)入模塊
第三天:簡單編程問題(5 小時):交換兩個變量值,將攝氏度轉(zhuǎn)換為華氏溫度宿百,求數(shù)字中各位數(shù)之和趁仙,判斷某數(shù)是否為素數(shù),生成隨機(jī)數(shù)垦页,刪除列表中的重復(fù)項等等
第四天:中級編程問題(6 小時):反轉(zhuǎn)一個字符串(回文檢測)雀费,計算最大公約數(shù),合并兩個有序數(shù)組痊焊,猜數(shù)字游戲盏袄,計算年齡等等
第五天:數(shù)據(jù)結(jié)構(gòu)(6 小時):棧,隊列薄啥,字典面哼,元組畔塔,樹,鏈表。
第六天:面向?qū)ο缶幊蹋∣OP)(6 小時):對象其徙,類责蝠,方法和構(gòu)造函數(shù)丁稀,面向?qū)ο缶幊讨^承
第七天:算法(6 小時):搜索(線性和二分查找)辆脸、排序(冒泡排序、選擇排序)蕾管、遞歸函數(shù)(階乘枷踏、斐波那契數(shù)列)、時間復(fù)雜度(線性掰曾、二次和常量)
別急著安裝 Python 環(huán)境旭蠕!這看起來很矛盾,但是你一定要相信我。我有幾個朋友掏熬,他們因為語言工具包和 IDE 安裝的失敗而逐漸失去了學(xué)習(xí)下去的欲望佑稠。因此,我的建議是先使用一些安卓 app 來探索這門語言旗芬,如果你是個技術(shù)小白舌胶,安裝 Python 環(huán)境可不是你的首要任務(wù)。
第二周:開始軟件開發(fā)(構(gòu)建項目)
接下來疮丛,讓我們朝著軟件開發(fā)任務(wù)進(jìn)軍吧幔嫂!不妨嘗試綜合你學(xué)到的知識完成一個實際的項目:
第一天:熟悉一種 IDE(5 小時): IDE 是你在編寫大型項目時的操作環(huán)境,所以你需要精通一個 IDE誊薄。在軟件開發(fā)的初期履恩,我建議你在 VS code 中安裝 Python 擴(kuò)展或使用 Jupyter notebook。
第二天:Github(6 小時):探索 Github呢蔫,并創(chuàng)建一個代碼倉庫切心。嘗試提交(Commit)、查看變更(Diff)和上推(Push)你的代碼片吊。另外绽昏,還要學(xué)習(xí)如何利用分支工作,如何合并(merge)不同分支以及如何在一個項目中創(chuàng)建拉取請求(pull request)定鸟。
第三天:第一個項目——簡單計算器(4 小時):熟悉 Tkinter而涉,創(chuàng)建一個簡單的計算器
第四著瓶、五联予、六天:個人項目(每天 5 小時):選定一個項目并完成它。
第七天:托管項目(5 小時):學(xué)習(xí)使用服務(wù)器和 hosting 服務(wù)來托管你的項目材原。創(chuàng)建一個 Heroku 設(shè)置并部署你構(gòu)建的應(yīng)用程序沸久。
為什么要寫項目?如果僅僅按部就班地學(xué)習(xí)課堂上或視頻中的內(nèi)容余蟹,你無法擁有獨立思考能力卷胯。所以,你必須把你的知識應(yīng)用到一個項目中威酒。當(dāng)你努力尋找答案時窑睁,你也在慢慢地學(xué)會這些知識。
第三周:讓自己成為一名程序員
第 3 周的目標(biāo)是熟悉軟件開發(fā)的整體過程葵孤。你不需要掌握所有的知識担钮,但是你應(yīng)該知道一些常識,因為它們會影響你的日常工作尤仍。
第一天:數(shù)據(jù)庫基礎(chǔ)(6 小時):基本 SQL 查詢(創(chuàng)建表箫津、選擇、Where 查詢、更新)苏遥、SQL 函數(shù)(Avg饼拍、Max、Count)田炭、關(guān)系數(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挤安。學(xué)習(xí) JSON、微服務(wù)(micro-service)以及表現(xiàn)層應(yīng)用程序轉(zhuǎn)換應(yīng)用程序接口(Rest API)丧鸯。
第四天:Numpy(4 小時):熟悉 Numpy蛤铜,并練習(xí)前 30 個 Numpy 習(xí)題
第五、六天:作品集網(wǎng)站(一天 5 小時):學(xué)習(xí) Django丛肢,使用 Django 構(gòu)建一個作品集網(wǎng)站围肥,也要了解一下 Flask 框架。
第七天:單元測試蜂怎、日志穆刻、調(diào)試(5 小時):學(xué)習(xí)單元測試(PyTest),如何設(shè)置和查看日志杠步,以及使用斷點調(diào)試氢伟。
真心話時間(絕密)
如果你非常「瘋狂」幽歼,并且非常專注朵锣,你可以在一個月內(nèi)完成這些任務(wù)。你必須做到:
把學(xué)習(xí) Python 作為你的全職活動甸私。你需要從早上 8 點開始學(xué)習(xí)诚些,一直到下午 5 點。在此期間皇型,你可以有一個午休時間和茶歇時間(共 1 小時)诬烹。
8 點列出你今天要學(xué)的東西,然后花一個小時復(fù)習(xí)和練習(xí)你昨天學(xué)過的東西弃鸦。
從 9 點到 12 點:開始學(xué)習(xí)绞吁,并進(jìn)行少量練習(xí)。在午飯后寡键,你需要加大練習(xí)量掀泳,如果你卡在某個問題上雪隧,可以在網(wǎng)上搜索解決方案。
嚴(yán)格保持每天 4-5 小時的學(xué)習(xí)時間和 2-3 小時的練習(xí)時間(每周最多可以休息一天)员舵。
你的朋友可能會認(rèn)為你瘋了脑沿。走自己的路,讓別人去說吧马僻!
如果你有一份全職工作庄拇,或者你是一名學(xué)生,完成這些流程可能需要更長的時間韭邓。作為一名全日制學(xué)生措近,我花了 8 個月的時間來完成這份清單。現(xiàn)在我是一名高級開發(fā)人員女淑。我妻子在美國一家大銀行工作瞭郑。她花了 6 個月才完成本文中提到的任務(wù)。所以鸭你,不管花多長時間屈张,一定要完成它們。
第四周:認(rèn)真考慮工作(實習(xí))問題
第 4 周的目標(biāo)是認(rèn)真思考如何才能被錄用袱巨。即使你現(xiàn)在不想找工作阁谆,你也可以在探索這條道路的過程中學(xué)到很多東西。
第一天:準(zhǔn)備簡歷(5 小時):制作一份一頁的簡歷愉老。把你的技能總結(jié)放在最上面场绿,必須在寫項目的同時附上 Github 鏈接。
第二天:作品集網(wǎng)站(6 小時):寫幾個博客嫉入,將它們添加到你之前開發(fā)的作品集網(wǎng)站中焰盗。
第三天:LinkedIn 簡介(4 小時):創(chuàng)建一個 LinkedIn 個人簡介,把簡歷上的所有內(nèi)容都放到 LinkedIn 上劝贸。
第四天:面試準(zhǔn)備(7 小時):準(zhǔn)備一些谷歌常見的面試問題姨谷,練習(xí)白皮書中的 10 個面試編程問題。在 Glassdoor映九、Careercup 等網(wǎng)站中查看前人遇到的面試問題。
第五天:社交(~小時):走出房門瞎颗,開始參加聚會件甥、招聘會,與其他開發(fā)人員和招聘人員見面哼拔。
第六天:工作申請(~小時):搜索「Python Job」引有,查看 LinkedIn Job 和本地求職網(wǎng)站。選擇 3 個工作崗位并發(fā)送工作申請倦逐。為每個工作定制你的簡歷譬正。在每個工作要求中找出 2 到 3 件你不知道的事情,并在接下來的 3-4 天里學(xué)會它們。
第七天:在拒絕中學(xué)習(xí)(~小時):每次你被拒絕的時候曾我,找出兩件為了獲得這份工作你應(yīng)該知道的事情粉怕,然后花 4-5 天 的時間來掌握它們。這樣抒巢,每次拒絕都會讓你成為更好的開發(fā)人員贫贝。
為工作做準(zhǔn)備
現(xiàn)實情況是,你永遠(yuǎn)不可能百分之百地為工作做好準(zhǔn)備蛉谜。你所要做的就是精通一兩件事稚晚,并且熟悉其它的事情,最終通過面試型诚。一旦你開始工作了客燕,你會在工作過程中學(xué)到很多。
享受學(xué)習(xí)的過程
學(xué)習(xí)是一個過程狰贯,只要學(xué)習(xí)就會有挑戰(zhàn)幸逆。天道酬勤,你越努力暮现,就會成為越優(yōu)秀的開發(fā)人員还绘。如果你能在 28 天內(nèi)完成所有的任務(wù),那你堪稱天才栖袋。然而拍顷,如果你能完成 60-70% 的內(nèi)容,你就已經(jīng)開始具備成為一名程序員的正確特征了塘幅。