如果想一個(gè)月學(xué)會(huì)Python,每天要做些什么?
作者:Jhankar Mahbub
編譯:機(jī)器之心
參與:王子嘉、Geek AI
毫無疑問,Python 是當(dāng)下最火的編程語言之一。對于許多未曾涉足計(jì)算機(jī)編程的領(lǐng)域「小白」來說,深入地掌握 Python 看似是一件十分困難的事。其實(shí),只要掌握了科學(xué)的學(xué)習(xí)方法并制定了合理的學(xué)習(xí)計(jì)劃,Python 從 入門到精通只需要一個(gè)月就夠了!

熟悉基本概念(變量,條件,列表,循環(huán),函數(shù))
練習(xí)超過 30 個(gè)編程問題
利用這些概念完成兩個(gè)項(xiàng)目
熟悉至少 2 個(gè)框架
開始使用集成開發(fā)環(huán)境(IDE),Github,hosting,services 等

第一天:基本概念(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)等等
第四天:中級(jí)編程問題(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ù)雜度(線性、二次和常量)

第一天:熟悉一種 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)目并完成它。如果你不知道你該做什么,可以查看下面的清單(https://www.quora.com/what-some-good pythonprojects -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)用程序。

第三周:讓自己成為一名程序員
第一天:數(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 框架。
第七天:單元測試、日志、調(diào)試(5 小時(shí)):學(xué)習(xí)單元測試(PyTest),如何設(shè)置和查看日志,以及使用斷點(diǎn)調(diào)試。

把學(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)為你瘋了。走自己的路,讓別人去說吧!

第一天:準(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ā)人員。
如果你覺得文章還不錯(cuò),請大家點(diǎn)贊分享下。你的肯定是對作者最大的鼓勵(lì)和支持。
推薦閱讀: 如何看待海淀某互聯(lián)網(wǎng)公司讓員工住在公司?(爆公司信息) 這點(diǎn)愛好,竟讓我過了頭條一面! 細(xì)思恐極,插上 U 盤就開始執(zhí)行Python代碼的程序

