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