1. 程式人生 > >Python學習路徑及練手專案合集

Python學習路徑及練手專案合集

轉載自知乎 Wayne Shi,僅僅為了方便收藏檢視,侵權刪。

階段1:入門知識

零程式設計基礎的可以先從下面幾個教程瞭解程式設計及環境入門知識。(已有程式設計基礎直接從階段2起步

階段2:Python基礎

看完入門知識,就可以開始本階段的征程了。(Python2和3的教程可以選擇一個深入學習)
1. Python3 簡明教程
2. Python快速教程(基於Python 2.7)

階段4:基礎專案

1. Python 圖片轉字元畫
本實驗用 50 行 Python 程式碼完成圖片轉字元畫小工具。通過本實驗將學習到 Linux 命令列操作,Python 基礎,pillow 庫的使用,argparse 庫的使用。 2.
200行Python程式碼實現2048

本實驗僅用200行的 python 程式碼完成2048小遊戲的編寫。通過本實驗將學習 Python 基本知識,狀態機的概念,以及編寫 python 遊戲的步驟。 3. Python 破解驗證碼
本實驗通過一個簡單的例子來實現破解驗證碼。從中我們可以學習到 Python 基本知識,PIL 模組的使用,破解驗證碼的原理。 4. Python文字解析器
本課程講解一個使用 Python 來解析純文字生成一個 HTML 頁面的小程式。從中我們學習到Python基本語法,HTML標記語言,以及如何用 Python 將純文字分成一個一個的文字塊,並對它對解析。 5. Python3 色情圖片識別

本實驗將使用 Python3 去識別圖片是否為色情圖片,我們會使用到 PIL 這個影象處理庫,會編寫演算法來劃分影象的面板區域。其中涉及到Python 3 基礎知識,膚色畫素檢測與面板區域劃分演算法,Pillow及argparse的使用。 6. Python實現Python直譯器
本課程會從實現一個玩具直譯器開始學習直譯器的基本知識。之後通過考察Python位元組碼進一步學習理解Python直譯器的內部機制,最終參考``Byterun``(一個現有的Python直譯器)實現一個500行以內的Python直譯器。 7. Python生成漢字圖片字型檔
本實驗使用 pygame 和 PIL 模組渲染字型生成字型檔。實驗中將學習和實踐 Python 基本知識,Pygame, PIL 模組的使用。 8.
Python3 圖片隱寫術

通過Python3實現將關鍵資訊隱藏在圖片的效果,主要目的是為了不讓預期接收者以外的人知曉傳遞的內容。與電視劇中使用特殊墨水傳遞資訊一樣,表面看就是一張什麼都沒寫的白紙,實則暗藏著重要資訊。 9. pygame開發打飛機遊戲
使用Python快速開發一款PC端玩耍的微信打飛機遊戲,基於pygame實現。
10. Python 實現簡易 Shell Shell 是一個用 C 語言編寫的程式,這個應用程式提供了一個介面,使用者通過這個介面訪問作業系統核心的服務,是使用者使用 Linux 核心的橋樑。本次課程將通過 Python 來實現一個簡易的 Shell。 11. Python實現3D建模工具
本課程將基於OpenGL實現一般CAD軟體都會具備的基礎功能:渲染顯示3D空間的畫面並可以操作3D空間中物體。 12. 使用 Python 3 編寫系列實用指令碼
使用 Python 3 來編寫一系列的實用指令碼,實驗的過程中能熟悉 Python 3 的使用,學習使用各種功能強大的模組。 13. Python實現鍵值資料庫
本課程將通過理解一個操作類似於 Redis,儲存理念來自於 CouchDB 的鍵值資料庫的原始碼來學習如何做資料庫的資料儲存,體會使用不可變資料結構的優點。 14. Python3 & OpenCV 視訊轉字元動畫
本課程使用 OpenCV 處理圖片視訊,將視訊轉為字元畫序列,再在終端中播放字元動畫。除了 OpenCV 的操作,本課程還會了解游標定位轉義編碼的使用。

階段5:網路程式設計

1. Python3 實現火車票查詢工具本課程使用 Python3 抓取 12306 網站資訊提供一個命令列的火車票查詢工具。通過該專案的實現,可以熟悉 Python3 基礎及網路程式設計,以及 docopt,requests,prettytable 等庫的使用。

2. Python實現基於協程的非同步爬蟲
本課程將探討幾種實現爬蟲的方法,從傳統的執行緒池到使用協程,每節課實現一個小爬蟲。另外學習協程的時候,我們會從原理入手,以ayncio協程庫為原型,實現一個簡單的非同步程式設計模型。

階段6:資料與計算

1. Python科學計算(一)
2. Python科學計算(二)
3. Python 資料分析(一)
4. Python 資料分析(二)
5. Python基於共現提取《釜山行》人物關係

針對《釜山行》劇本的文字,使用python編寫程式碼分析文字中人物的共現關係,完成對《釜山行》文字的人物關係提取,並利用Gephi軟體對提取的人物關係繪製人物關係圖。

6. 基於 Flask 與 MySQL 實現番劇推薦系統
本課程是基於 Python 的 Flask 框架和 MySQL 實現的簡單的番劇推薦系統。在本課程中我們將學到如何用 Python 連線 MySQL 資料庫,如何查詢和展示資料及設計推薦演算法等知識

7. Kaggle入門:泰坦尼克號倖存者專案
Kaggle是一個線上資料科學競賽類網站。本課程將使用python科學計算工具對Kaggle提供的泰坦尼克號上的人員資料進行分析建模。

8. 神經網路實現手寫字元識別系統
本課程最終將基於BP神經網路實現一個手寫字元識別系統,系統會在伺服器啟動時自動讀入訓練好的神經網路檔案,如果檔案不存在,則讀入資料集開始訓練,使用者可以通過在html頁面上手寫數字傳送給伺服器來得到識別結果。

階段7:綜合專案

1. 高德API+Python解決租房問題編寫Python指令碼爬取某租房網站的房源資訊,利用高德的 js API 在地圖上標出房源地點,劃出距離工作地點1小時內可到達的範圍,附上公交路徑規劃功能檢視不同路徑的用時。

2. Python實現簡單的Web伺服器通過使用 Python 語言實現一個 Web 伺服器,探索 HTTP 協議和 Web 服務的基本原理,同時學習 Python 如何實現 Web 服務請求、響應、錯誤處理及CGI協議,最後會使用 Python 面向物件思路進行重構。
3. 基於Flask/RethinkDB實現TODO List本實驗將學習 RethinkDB 作為資料庫後端,Backbone.js 作為前端的技術棧,並實現一個清單應用。從中我們可以學習 Flask Web 應用框架,及 Rethinkdb 文件型資料庫和 Backbone.js web開發框架。

4. Flask開發輕部落格使用Python Flask Web框架開發一個具備基本功能的輕部落格平臺,在其中學習Python的Web開發。