【我們為什麼挑選這篇文章】Python 是目前最受歡迎的程式語言,但是該怎麼入門、怎麼學?如果說讓你用 100 天就能學會 Python ,你會心動嗎?下文,讓我們來看這個在 GitHub 上破萬顆星的百日 Python 計畫怎麼帶 Python 新手入門。(責任編輯:藍立晴)
「《科技報橘》徵才中!跟我們一起定位台灣產業創新力 >> 詳細職缺訊息
快將你的履歷自傳寄至 jobs@fusionmedium.com」
作為目前最受歡迎也是最實用的程式語言,Python 不僅是新手入門程式語言界的首選,也逐漸成為了從大廠到小廠,招牌需求 list 的必要一條。
當然,學 Python 這件事情,你可能也和文摘菌(本文作者)一樣,已經下了一百次決心,但是最後都「從入門到放棄」。
究其原因,很可能是沒有明確的學習目標,或者學習目標太過「宏偉」,所以總是陣亡在了 introduction 影片到第一行 Python 之前。
GitHub 熱榜第一:學習 Python 只要 100 天
那麼,從小白成為大師,到底需要多長時間?真的有一個有規可循的計劃嗎?
本週 GitHub 熱榜第一的專案告訴你:Python 學習有套路!並且只需要 100 天!
自發布,這篇 GitHub 帖子的星星數量已經過萬,Fork 數也有 3566。專案詳細給出了一個 100 天的 Python 學習計劃,包括每天需要掌握的內容、學習週期、資料庫等。從怎麼安裝 Python 介紹起,到使用 Django 開發專案收尾。100 天,11 個階段,每完成一個階段都讓你成就感滿滿。
先附上 GitHub 網址傳送門:【點我】
下面文摘菌也簡單介紹一下這個專案。
第一階段 15 天,完成基本 Python 語言入門
第一階段,Python 語言基礎(學習週期 15 天)
第 1 天的任務是讓你完成 Python 的搭建並寫出第一行命令,也就是 hello word。除此之外,使用 IDLE – 交互式環境(REPL),編寫多行程式碼,使用註釋給說明程式碼的作用也是在第一天就要掌握的。
第 2 天的任務是掌握 Python 的語言元素,包括變量和類型、數字和字串、運算符等。學完這些知識點,在第二天就要能夠實現應用案例包括:華氏溫度轉換成攝氏溫度、輸入圓的半徑計算周長和面積、輸入年份判斷是否是閏年。
例如將華氏溫度轉攝氏溫度。
""" 將華氏溫度轉換成攝氏溫度
F = 1.8C + 32
Version: 0.1
Author: 骆昊
"""
f = float(input('請輸入華氏溫度: '))
c = (f - 32) / 1.8
print('%.1f 華氏度 = %.1f 攝氏度' % (f, c))
第 3 天掌握分支結構,包括分支結構的應用場景,if 語句的使用。然後使用這三天的知識點完成案例用戶身份驗證、英制單位與公制單位互換、擲骰子決定做什麼、百分制成績轉等級制、分段函數求值、輸入三條邊的長度如果能構成三角形就計算周長和面積等。
第 4 天學習循環結構,包括 while 循環的基本結構:break 語句、continue 語句等。for 循環的基本結構、range 類型等等。然後完成 1~100 求和、判斷質數、猜數字遊戲、列印九九乘法表、列印三角形圖案、猴子吃桃等經典案例。
第 5 天總結前四天的知識點。
第 6 天函數和模塊(module)的使用知識點,包括:函數的作用、用函數封裝功能模塊、定義函數、調用函數、函數的參數、函數的返回值、作用域問題、用模塊管理函數。
第 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 和數據可視化。在算法部分,主要介紹最近鄰居法(KNN)分類、 決策樹、單純貝氏分類器、 支援向量機(SVM)、 K-均值聚類、 迴歸分析。其他也包括:大數據分析入門、 大數據分析進階、 Tensorflow 入門、 Tensorflow 實戰、推薦系統。
註:這一部分資料,尚未更新完整。
第十一階段, 團隊專案開發(週期 10 天)
開始的前兩天, 你需要先組建好開發團隊和完成專案選題,數據庫設計以及 OOAD。
在之後的 6 天內,使用 Django 開發專案;最後給自己留兩天的實踐測試和部署。
OMT
學完這 100 天的知識點,認真完成專案,無論去面試哪一家公司的 Python 開發崗位,相信你都是信心滿滿。
為了讓你盡快拿到 offer,此專案還給出了其他的一些資料,包括 PEP 8 風格指南、 Python 參考書籍、Python 慣例、玩轉 PyCharm、用函數還是用複雜的表達式、知乎問題回答、那些年我們踩過的那些坑。
例如在知乎問題回答文檔中,就給出了 Python 各個面向的職缺招聘需求情況:
看到這裡有沒有很動心!最後,祝各位學習順利,100 天後見!
(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈Github 标星过万,Python 新手 100 天学习计划,这次再学不会算我输!〉。首圖來源:大数据文摘 。)
延伸閱讀
最賺錢程式語言換人當!Clojure 擠下 2018 年最賺的 F#
【內附程式碼】工程師技能大全:如何用 Python 寫出所有的演算法?
求職市場最搶手的 5 個程式語言技能,Python、Java 居然都沒上榜!