百科不全书之Python进阶
Python進階
- 程序設計方法學
- 用戶體驗
- 模塊化設計
- 應用軟件開發的四個步驟
- 安裝Python第三方庫
- 數據分析
- Numpy 表達N維數組的最基礎庫
- pandas Python數據分析高層次應用庫
- SciPy 數學、科學和工程計算功能庫
- 數據可視化
- Matplotlib 高質量的二維數據可視化功能庫
- Seaborn 統計類數據可視化功能庫
- Mayavi 三維科學數據可視化功能庫
- 文本處理
- PyPDF2 用來處理pdf文件的工具集
- NLTK 自然語言文本處理第三方庫
- Python-docx 創建或更新Word的第三方庫
- 機器學習
- Scikit-learn 機器學習方法工具集
- TensorFlow AlphaGo背后的機器學習計算框架
- MXNet 基于神經網絡的深度學習計算框架
- 網絡爬蟲
- Requests 最友好的網絡爬蟲功能庫
- Scrapy 優秀的網絡爬蟲框架
- pyspider 強大的Web頁面爬取系統
- Web信息提取
- Beautiful Soup HTML和XML的解析庫
- Re 正則表達式解析和處理功能庫
- Python-Goose 提取文章類型Web頁面的功能庫
- 網站開發
- Django 最流行的Web應用框架
- Pyramid 規模適中的Web應用框架
- Flask Web應用開發微框架
- 網站應用開發
- WeRoBot 微信公眾號開發框架
- aip 百度AI開放平臺接口
- MyQR
- 圖形用戶界面
- PyQt5 Qt開發框架的Python接口
- wxPython 跨平臺GUI開發框架
- PyGObject 使用GTK+開發GUI的功能庫
- 游戲開發
- PyGame 簡單的游戲開發功能庫
- Panda3D 開源、跨平臺的3D渲染和游戲開發庫
- cocos2d 構建2D游戲和圖形界面交互式應用的框架
- 虛擬現實
- VR Zero 在樹莓派上開發VR應用的Python庫
- pyovr Oculus Rift 的Python開發接口
- Vizard 基于Python的通用VR開發引擎
- 圖形藝術
- Quads 迭代的藝術
- ascii_art ASCII藝術庫
- turtle 海龜繪圖體系
參考鏈接:北京理工大學 Python語言程序設計
程序設計方法學
編程的起點不是 算法 而是 系統;
編程如同搭積木,利用計算生態為主要模式;
編程的目標是快速解決問題
用戶體驗
關心功能實現,更要關心用戶體驗,才能做出好產品
編程只是手段,不是目的,程序最終是為人類服務
提升用戶體驗的方法
- 1 進度展示
- 如果程序需要計算時間,可能產生等待,請增加進度展示
- 如果程序有若干步驟,需要提示用戶,請增加進度展示
- 如果程序可能存在大量次數循環,請增加進度展示
- 2 異常處理
- 當獲得用戶輸入,對合規性需要檢查,需要異常處理
- 當讀寫文件時,對結果進行判斷,需要異常處理
- 當進行輸入輸出時,對運算結果進行判斷,需要異常處理
- 3 其他方法
- 打印輸出:特定位置,輸出程序運行的過程信息。
- 日志文件:對程序異常及用戶使用進行定期記錄
- 幫助信息:給用戶多種方式提供幫助信息
模塊化設計
通過函數或對象封裝將程序劃分為模塊及模塊間的表達
具體包括:主程序,子程序和子程序間關系
分而治之:一種分而治之,分層抽象,體系化的設計思想
緊耦合:兩個部分之間交流很多,無法獨立存在
松耦合:兩個部分之間交流較少,可以獨立存在
模塊內部緊耦合,模塊之間松耦合
應用軟件開發的四個步驟
1 產品定義:對應用需求充分理解和明確定義,不僅是功能定義,要考慮商業模式
2 系統架構:以系統方式思考產品的技術實現,關注數據流,模塊化,體系架構
3 設計與實現:結合架構完成關鍵設計及系統實現,結合可擴展性,靈活性等進行設計優化
4 用戶體驗:從用戶角度思考應用效果;用戶至上,體驗優先,以用戶為中心
安裝Python第三方庫
1 使用pip命令
2 集成安裝方法
3 文件安裝方法
有些第三庫下載之后,需要編譯在安裝,如果沒有編譯環境的話,會安裝失敗。可以從UCI頁面下載直接編譯后的版本。
數據分析
Numpy 表達N維數組的最基礎庫
Python 接口使用,C語言實現,計算速度優異
Python 數據分析及科學計算的基礎庫,支撐Pandas等
提供直接的矩陣運算,廣播函數,線性代數等功能
可以直接錯做N維數組的運算
pandas Python數據分析高層次應用庫
提供了簡單易用的數據結構和數據分析工具
理解數據類型和索引的關系,操作索引即操作數據
Python最重要的數據分析功能庫,基于Numpy開發
Series = 索引 + 一維數據
DataFrame = 行列索引 + 二維數據
SciPy 數學、科學和工程計算功能庫
提供了一批數學算法及工程數據運算功能
類似Matlab,可用于如傅里葉變化,信號處理等應用
Python最主要的科學計算功能庫,基于Numpy開發
數據可視化
Matplotlib 高質量的二維數據可視化功能庫
提供了超多100種數據可視乎展示效果
通過matplotlib.pyplot子庫調用各可視化效果
Python最主要的數據可視化功能庫,基于Numpy開發
Seaborn 統計類數據可視化功能庫
提供了一批高層次的統計類數據可視化展示效果
主要展示數據間分布,分類和線性關系等內容
基于Matplotlib開發,支持Numpy和Pandas
Mayavi 三維科學數據可視化功能庫
提供了一批簡單易用的3D科學計算數據可視化展示效果
目前版本時Mayavi4 ,三維可視化最主要的第三方庫
支持Numpy、TVTK、Traits、Envisage等第三方庫
文本處理
PyPDF2 用來處理pdf文件的工具集
提供了一批處理PDF文件的計算功能
支持獲取信息、分隔/整合文件,加密解密等
完全Python實現,不需要額外依賴,功能穩定。
NLTK 自然語言文本處理第三方庫
提供了一批簡單易用的自然語言文本處理功能
支持語言文本分類、標記、語法句法、語義分析等
最優秀的Python自然語言處理庫
Python-docx 創建或更新Word的第三方庫
提供創建或更新.doc .docx等文件的計算功能
增加并配置段落、圖片、表格、文字等,功能全面
機器學習
Scikit-learn 機器學習方法工具集
提供一批統一化的機器學習方法功能接口
提供聚類、分類、回歸、強化學習等計算功能
機器學習最基本且最優秀的Python第三方庫
TensorFlow AlphaGo背后的機器學習計算框架
谷歌公司推動的開源機器學習框架
將數據流圖作為基礎,圖節點代表運算,邊代表張量
應用機器學習方法的一種方式,支撐谷歌人工智能應用
MXNet 基于神經網絡的深度學習計算框架
提供可擴展的神經網絡及深度學習計算功能
可用于自動駕駛、機器翻譯、語音識別等眾多領域
Python最重要的深度學習計算框架
網絡爬蟲
Requests 最友好的網絡爬蟲功能庫
Scrapy 優秀的網絡爬蟲框架
提供了構建網絡爬蟲系統的框架功能,功能半成品
支持批量和定時網頁爬取,提供數據處理流程等
Python 最主要且最專業的網絡爬蟲框架
pyspider 強大的Web頁面爬取系統
提供了完整的網頁爬取系統構建功能
支持數據庫后端、消息隊列、優先級、分布式框架等
Python重要的網絡爬蟲類第三方庫
Web信息提取
Beautiful Soup HTML和XML的解析庫
提供了解析HTML和XML等Web等信息的功能
又名beautifulsoup4或bs4,可以加載多種解析引擎
常與網絡爬蟲庫搭配使用,如Scrapy,requests等
Re 正則表達式解析和處理功能庫
提供了定義和解析正則表達式的一批通用功能
可用于各類場景,包括定點的Web信息提取
Python最主要的標準庫之一,無需安裝
Python-Goose 提取文章類型Web頁面的功能庫
提供了對Web頁面中文章信息/視頻等元數據的提取功能
針對特定類型Web頁面,應用覆蓋面較廣
Python最主要的Web信息提取庫
網站開發
Django 最流行的Web應用框架
提供了構建Web系統的基本應用框架
MTV 模型 模式 模板 試圖
Python 最重要的Web應用框架,略微復雜的應用框架
Pyramid 規模適中的Web應用框架
提供了簡單方便構建Web系統的應用框架
不大不小,規模適中,適合快速構建并適度拓展類應用
Python產品級Web應用框架,起步簡單可擴展性好
Flask Web應用開發微框架
提供了最簡單構建Web系統的應用框架
特點是:簡單、規模小、快速
Django > Pyramin > Flask
網站應用開發
WeRoBot 微信公眾號開發框架
aip 百度AI開放平臺接口
提供了訪問百度AI服務的Python 功能接口
語音、人臉、OCR、NLP、知識圖譜、圖像搜索等領域
Python 百度AI應用的最主要方式
MyQR
提供了生成二維碼的系列功能
基本二維碼、藝術二維碼和動態二維碼
圖形用戶界面
PyQt5 Qt開發框架的Python接口
提供了創建Qt5程序的Python API接口
Qt是非常成熟的跨平臺桌面應用開發系統,完備GUI
推薦的Python GUI開發第三方庫
wxPython 跨平臺GUI開發框架
提供了專用于Python的跨平臺GUI開發框架
理解數據類型與索引的關系,操作索引即操作數據
Python最主要的數據分析功能庫,基于Numpy開發
PyGObject 使用GTK+開發GUI的功能庫
提供了整合GTK+、WebKitGTK+等庫的功能
GTK+ 跨平臺的一種用戶圖形界面GUI框架
實例 Anaconda采用該庫構建GUI
游戲開發
PyGame 簡單的游戲開發功能庫
提供了基于SDL的簡單游戲開發功能及實現引擎
理解游戲對外部輸入的響應機制及角色構建和交互機制
Python游戲入門最主要的第三方庫
Panda3D 開源、跨平臺的3D渲染和游戲開發庫
一個3D游戲引擎,提供Python和C++兩種接口
支持很多先進特性:法線貼圖、光澤貼圖、卡通渲染等
有迪士尼和卡尼基梅隆大學共同開發
cocos2d 構建2D游戲和圖形界面交互式應用的框架
提供了基于OpenGL的游戲開發圖形渲染功能
支持GPU加速,采用樹形結構分層管理游戲對象類型
適用于2D專業級游戲開發
虛擬現實
VR Zero 在樹莓派上開發VR應用的Python庫
提供大量與VR開發相關的功能
針對樹莓派的VR開發庫,支持設備小型化,配置簡單化
非常適合初學者實踐VR開發及應用
pyovr Oculus Rift 的Python開發接口
針對Oculus VR設備的Python開發庫
基于成熟的VR設備,提供全套文檔,工業級應用設備
Python + 虛擬顯示領域探索的一種思路
Vizard 基于Python的通用VR開發引擎
專業的企業級虛擬現實開發殷勤
提供詳細的官方文檔
支持多種主流的VR硬件設備,具有一定的通用新
圖形藝術
Quads 迭代的藝術
對圖片進行四分迭代,形成像素風
可以生成動圖或靜圖圖像
簡單易用,具有很高展示度
ascii_art ASCII藝術庫
將普通圖片轉為ASCII藝術風格
輸出可以是純文本或彩色文本
可采用圖片格式輸出
turtle 海龜繪圖體系
可以生成 Random Art
總結
以上是生活随笔為你收集整理的百科不全书之Python进阶的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: binder,hwbinder,vndb
- 下一篇: QT常用问题