Python 100 days
作為目前最火也是最實用的編程語言,Python不僅是新手入門程序界的首選,也逐漸成為了從大廠到小廠,招牌需求list的必要一條。
當然,學Python這件事情,你可能也和文摘菌一樣,已經下了一百次決心,但是最后都“從入門到放棄”。
究其原因,很可能是沒有明確的學習目標,或者學習目標太過“宏偉”,所以總是陣亡在了introduction視頻到第一行代碼之前。
那么,從小白成為大師,到底需要多長時間?真的有一個有規可循的計划嗎?
本周Github熱榜第一的項目告訴你:Python學習有套路!並且只需要100天!

自發布,這篇Github帖子的標星數量已經過萬,Fork數量也有3566。項目詳細給出了一個100天的Python學習計划,包括每天需要掌握的內容、學習周期、資料庫等。從怎么安裝Python介紹起到使用Django開發項目收尾,100天,11個階段,每完成一個階段都讓你成就感滿滿。
先附上github地址:
jackfrued/Python-100-Days: Python - 100天從新手到大師 (github.com)
jackfrued/Python-Core-50-Courses: Python語言基礎50課 (github.com)
下面文摘菌也簡單介紹一下這個項目。為了激勵大家學習,文摘菌還准備了組團打卡免費計划,拉至文末看“團戰“福利哦!
第一階段,Python語言基礎(學習周期15天)
- 第1天的任務是讓你完成Python的搭建並寫出第一行命令,也就是hello word。除此之外,使用IDLE - 交互式環境(REPL),編寫多行代碼,使用注釋給說明代碼的作用也是在第一天就要掌握的。
- 第2天的任務是掌握Python的語言元素,包括變量和類型、數字和字符串 、運算符等。學完這些知識點,在第二天就要能夠實現應用案例包括:華氏溫度轉換成攝氏溫度、輸入圓的半徑計算周長和面積、輸入年份判斷是否是閏年。
- 第3天掌握分支結構,包括分支結構的應用場景,if語句的使用。然后使用這三天的知識點完成案例用戶身份驗證、英制單位與公制單位互換、擲骰子決定做什么、百分制成績轉等級制、分段函數求值、輸入三條邊的長度如果能構成三角形就計算周長和面積等。
- 第4天學習循環結構,包括while循環的基本結構:break語句、continue語句等。for循環的基本結構、range類型等等。然后完成1~100求和、判斷素數、猜數字游戲、打印九九表、打印三角形圖案、猴子吃桃等經典案例。
- 第5天總結前四天的知識點。
- 第6天函數和模塊的使用知識點,包括:函數的作用、用函數封裝功能模塊、定義函數、調用函數、函數的參數、函數的返回值、作用域問題、用模塊管理函數。
- 第7天,介紹字符串和常用數據結構知識點,包括字符串、列表、元組 、集合、字典等知識點。要能用這些知識帶你完成楊輝三角、雙色球選號、井字棋等經典案例。
- 第8天,面向對象編程基礎,介紹類和對象的以及基礎練習:定義學生類,定義時鍾類,定義圖形類,定義汽車類。
- 第9天,面向對象進階,學習屬性、類中的方法以及運算符重載、繼承和多態等知識點,能夠完成工資結算系統、圖書自動折扣系統、自定義分數類案例。
- 第10天,圖形用戶界面和游戲開發。使用tkinter開發GUI、使用pygame三方庫開發游戲應用,完成打球吃小球的游戲。
- 第11天,文件和異常。學會讀文件,寫文件,異常處理,代碼塊等知識點,完成案例:歌詞解析
- 第12天,字符串和正則表達式。重點是正則表達式相關知識點,並能使用正則表達式驗證輸入的字符串
- 第13天,進程和線程,掌握進程和線程的概念、進程的使用方法。
- 第14天分為兩個部分,第一部分網絡編程入門,第二部分網絡應用開發。網絡編程入門介紹計算機網絡基礎、網絡應用架構、Python網絡編程。第二部分介紹訪問網絡API、文件傳輸、電子郵件、短信服務(twilio模塊 / 國內的短信服務)
- 第15天,圖像和文檔處理。包括用Pillow處理圖片,讀寫Word文檔,讀寫Excel文件,生成PDF文件 等知識點。
經過這15天,我們就完成了基本的Python語言入門,接下來進入Python語言進階。
第二階段,Python語言進階(周期15天)
這一階段要掌握常用數據結構、函數的高級用法(例如Lambda函數、作用域和閉包)、面向對象設計原則、迭代器和生成器、並發和異步編程等五個部分,每兩天一個部分!
第三階段, Web前端入門(周期10天)
包括:用HTML標簽承載頁面內容、用CSS渲染頁面、用JavaScript處理交互式行為、jQuery入門和提高、Vue.js入門、Element的使用、Bootstrap的使用。
第四階段,玩轉Linux操作系統(周期5天)
包括操作系統發展史和Linux概述、Linux基礎命令、Linux中的實用程序、Linux的文件系統、Vim編輯器的應用、環境變量和Shell編程、軟件的安裝和服務的配置、網絡訪問和管理。
第五階段,數據庫基礎和進階(周期5天)
介紹包括關系型數據庫MySQL、SQL的使用以及范式理論,設計二維表的指導思想、數據完整性、數據一致性等相關知識點。最后介紹NoSQL入門。
第六階段,實戰Django(周期15天)
從第41天開始,就從理論到實踐啦!Django實戰, 5分鍾快速上手,深入模型理解關系數據庫配置、使用ORM完成對模型的CRUD操作、Django模型最佳實踐;學會加載靜態資源、用Ajax請求獲取數據。
這個階段你還將學到 表單的應用、Cookie和Session、中間件的應用、 日志和緩存、 文件上傳和富文本編輯、 文件下載和報表、RESTful架構和DRF入門、 RESTful架構和DRF進階、 使用緩存、短信和郵件、 異步任務和定時任務、單元測試和項目上線;最后學習項目開發流程和相關工具。
第七階段,實戰Flask(周期5天)
此階段掌握:Flask入門、模板的使用、表單的處理、數據庫操作、項目實戰。
第八階段,實戰Tornado(周期5天)
在進入正式的知識點之前,先花一天的時間掌握預備知識:並發編程、I/O模式和事件驅動。然后開始學習Tornado入門、異步化、WebSocket的應用等等。
第九階段,爬蟲開發(周期10天)
包括網絡爬蟲和相關工具、數據采集和解析、存儲數據、並發下載、解析動態內容、表單交互和驗證碼處理、 Scrapy入門、Scrapy高級應用、Scrapy分布式實現等等。
第十階段, 數據處理和機器學習(周期15天)
在工具知識點部分,主要介紹機器學習基礎、 Pandas的應用、 NumPy和SciPy的應用、 Matplotlib和數據可視化。在算法部分,主要介紹 k最近鄰(KNN)分類、 決策樹、 貝葉斯分類、 支持向量機(SVM)、 K-均值聚類、 回歸分析。其他也包括:大數據分析入門、 大數據分析進階、 Tensorflow入門、 Tensorflow實戰、推薦系統。
注:這一部分資料,尚未更新完整。
第十一階段, 團隊項目開發(周期10天)
開始的前兩天, 你需要先組建好開發團隊和完成項目選題,數據庫設計以及OOAD。
在之后的6天內,使用Django開發項目;最后給自己留兩天的實踐測試和部署。
學完這100天的知識點,認真完成項目,無論去面試哪一家公司的Python開發崗位,相信你都是信心滿滿。為了讓你盡快拿到offer,此項目還給出了其他的一些資料,包括PEP 8風格指南、Python參考書籍、Python慣例、玩轉PyCharm、用函數還是用復雜的表達式、知乎問題回答、那些年我們踩過的那些坑。
例如在知乎問題回答文檔中,就給出了Python各個方向的崗位招聘需求情況☟
看到這里有沒有很動心!文摘菌整個編輯組都躍躍欲試的准備組團打怪了。
當然,我們也希望能夠和大家一起互相監督,防止“走着走着就散了”,所以臨時決定,開個打卡群,大家一起互相攙扶着走完這100天,一起成為大神。