基礎(chǔ)庫(kù)與工具
日志處理
系統(tǒng)工具
郵件
數(shù)據(jù)庫(kù)
打印輸出
命令行參數(shù)解析
命令行界面庫(kù)
GUI 工具
算法與設(shè)計(jì)模式
并行計(jì)算毁菱、分布式温学、任務(wù)調(diào)度
HTTP
HTML/XML
Web 框架
Web Server
網(wǎng)絡(luò)爬蟲
消息隊(duì)列
遠(yuǎn)程對(duì)象支持
日期與時(shí)間處理
Excel
SSH
科學(xué)計(jì)算與數(shù)據(jù)處理
文本與自然語言處理
代碼與性能測(cè)試
性能優(yōu)化
基礎(chǔ)庫(kù)與工具
- six Python 2 和 3 的兼容庫(kù)诀紊,用于編寫 Python2 和 3 兼容的代碼
- attrs Attributes Without Boilerplate
- assertpy assert 語句的替代品
- affirm 用于更好的替換 assert 語句
- decorator 簡(jiǎn)化 decorator 的使用難度而開發(fā)的模塊
- isort 可自動(dòng)對(duì) Python 的 import 語句進(jìn)行排序和分段阐滩∵冻鳎可將大量的 import 結(jié)構(gòu)轉(zhuǎn)成非常適合閱讀的排版
- interruptingcow 一個(gè) watchdog扛伍,用于中斷長(zhǎng)時(shí)間運(yùn)行的代碼徐勃,也就是給代碼加上 timeout 功能
- retrying 一個(gè)用于實(shí)現(xiàn)重試機(jī)制的庫(kù)
- tenacity 一個(gè)通用的 retry 庫(kù),能為任何任務(wù)加入重試的功能
- py 一個(gè)開發(fā)支持工具
- faker 一個(gè)假數(shù)據(jù)生成庫(kù)
- pipenv Python Development Workflow for Humans,相當(dāng)于是環(huán)境管理和包管理二合一撮胧,由 Kenneth Reitz (Requests 的作者 )編寫,現(xiàn)在移交給 Python 官方來維護(hù)老翘,提供比 pip 體驗(yàn)更好的開發(fā)包管理
- bidict 雙向查詢字典芹啥,可以通過 value 查詢 key
- tablib 把數(shù)據(jù)導(dǎo)出為 Excel、JSON铺峭、CSV 等格式
- glom 處理嵌套數(shù)據(jù)結(jié)構(gòu)
- envparse 簡(jiǎn)單的環(huán)境變量解析庫(kù)
- environs 解析環(huán)境變量的庫(kù)墓怀。受 envparse 啟發(fā),底層使用 marshmallow 驗(yàn)證并序列化值
- swig Python 調(diào)用 C/C++ 代碼的工具卫键,支持 C++ 的類繼承
- pyperclip 向計(jì)算機(jī)的剪貼板發(fā)送或接收文本
- py-setproctitle 一個(gè)可以改變進(jìn)程名稱的庫(kù)
- hashids 數(shù)字 ID 混淆庫(kù)傀履,可將 ID 轉(zhuǎn)成加密字段再還原
- vimdecrypt Vim 加密文件解碼工具
- setproctitle 設(shè)置進(jìn)程名,即改變 ps, top 等工具顯示的進(jìn)程名稱
- dulwich Git 的純 Python 實(shí)現(xiàn)
日志處理
- logging 標(biāo)準(zhǔn)庫(kù)日志系統(tǒng)
- logbook 一個(gè)功能完備強(qiáng)大的日志庫(kù)
- Structlog 是一個(gè)先進(jìn)的日志處理器莉炉。他可以和任何現(xiàn)存的日志記錄工具相集成钓账,并包裝了 Python 標(biāo)準(zhǔn)庫(kù)。你可以構(gòu)建定制的記錄工具絮宁,根據(jù)你的需要增加上下文梆暮,保證你的日志一致、可讀
- sentry 一個(gè)開源的實(shí)時(shí)錯(cuò)誤追蹤系統(tǒng),可以幫助開發(fā)者實(shí)時(shí)監(jiān)控并修復(fù)異常問題
系統(tǒng)工具
- keyring
- sh 是一個(gè)成熟的Python子進(jìn)程接口羞福,允許你像調(diào)用函數(shù)一樣調(diào)用任何程序惕蹄。超級(jí)好用。
- Watchdog 是一個(gè)跨平臺(tái)的Python庫(kù)和shell工具治专,可以監(jiān)視文件系統(tǒng)事件卖陵。超級(jí)好用,容易上手张峰。
- PyFilesystem 文件系統(tǒng)的抽象層
郵件
數(shù)據(jù)庫(kù)
- MySQL-Python 對(duì) MySQL C 驅(qū)動(dòng)的封裝泪蔫,僅支持 Python2,該項(xiàng)目名稱為MySQLdb1
- mysqlclient 基于 MySQLdb1 項(xiàng)目喘批,并添加對(duì) Python3 的支持
- mysql-connector-python MySQL 官方支持的純 Python 驅(qū)動(dòng)
- PyMySQL MySQL 的一個(gè)純 Python 接口
- Tornado-MySQL 基于 PyMySQL 并添加對(duì) Tornado 的支持
- adb 異步 mysql 庫(kù)
- SQLAlchemy 提供了 SQL 工具包及對(duì)象關(guān)系映射(ORM)工具
- Peewee 超級(jí)輕量的一個(gè) ORM 框架
- Pony ORM 框架撩荣,使用生成器實(shí)現(xiàn)查詢功能
- pymongo MongoDB 官方支持的驅(qū)動(dòng)程序
- motor 為 Tornado 提供了一個(gè)基于回調(diào)和 Future 機(jī)制的非堵塞的 MongoDB 驅(qū)動(dòng)程序
- redis-py Redis 的 Python 接口程序
- dataset 一個(gè) SQLAlchemy 的包裝器,使得不用直接寫 SQL 而操作數(shù)據(jù)庫(kù)
打印輸出
- prettytable 表格形式輸出數(shù)據(jù)
- tabulate 可以僅調(diào)用一個(gè)函數(shù)就能夠輸出小的饶深、好看的表格
- humanize 將數(shù)值餐曹、日期等轉(zhuǎn)化為更易讀的形式
- colorama 輸出著色,跨平臺(tái)
- termcolor 輸出著色
- blessings 輸出著色
- hues 輸出著色敌厘,同時(shí)可以用來代替日志模塊
- better-exceptions 以更友好的形式展示異常信息
- progressbar 控制臺(tái)進(jìn)度條台猴,功能完備
- tqdm 控制臺(tái)進(jìn)度條工具,支持命令行直接使用
- icecream 一款專用于 print 調(diào)試的工具
命令行參數(shù)解析
- Docopt 忘了 optparse 和 argparse 吧,使用 docstring 來構(gòu)建優(yōu)雅的饱狂、高可讀性曹步、復(fù)雜(如果你有這個(gè)需要)的命令行界面。在我看來這是2013年誕生的最好的庫(kù)
- Click 用于快速創(chuàng)建命令行工具
- clize 利用裝飾器將函數(shù)轉(zhuǎn)換成命令行解析器
- python-fire Google 開源的一個(gè)可從任何 Python 代碼自動(dòng)生成命令行接口(CLI)的庫(kù),是開發(fā)和調(diào)試非常有用的工具休讳,只需將想要在命令行顯示的功能寫為函數(shù)/模塊/類讲婚,就可以在命令行模式下調(diào)用
- Plumbum 命令行工具包
命令行界面庫(kù)
- curses 標(biāo)準(zhǔn)庫(kù)內(nèi)置模塊,是原生的一個(gè)封裝俊柔。Windows 平臺(tái)不支持筹麸,官方推薦了 the Console module 和 UniCurses
- Urwid 一個(gè)提供 Event Loop,Widget Classes 的控制臺(tái)界面庫(kù)
- Blessings 對(duì) curses 的一個(gè)封裝婆咸,使其更易用竹捉,所有函數(shù)調(diào)用都封裝在了 Terminal 類中
GUI 工具
- Tkinter
- PyQt
- wxPython
- PyGame 是一組用來開發(fā)游戲軟件的 Python 程序模塊,基于 SDL 庫(kù)的基礎(chǔ)上開發(fā)尚骄,可創(chuàng)建功能豐富的游戲和多媒體程序
- Eel 一個(gè)小型庫(kù)块差,用于制作簡(jiǎn)單的類似 Electron 的離線 HTML/JS GUI 應(yīng)用程序
- Pywebview 類似于 Electron 的庫(kù), 使用 Web 技術(shù)和 Python 相結(jié)合來創(chuàng)建GUI應(yīng)用程序
算法與設(shè)計(jì)模式
- https://github.com/nryoung/algorithms 算法和數(shù)據(jù)結(jié)構(gòu)庫(kù)
- https://github.com/tylerlaberge/PyPattyrn.git 一個(gè)實(shí)現(xiàn)了常見設(shè)計(jì)模式的簡(jiǎn)單且有效的 Python 庫(kù)
- https://github.com/faif/python-patterns 設(shè)計(jì)模式和慣用法收集
- https://github.com/grantjenks/sorted_containers 高效的,純 Python 實(shí)現(xiàn)的 SortedList倔丈、SortedDict 和 SortedSet 類型
并行計(jì)算憨闰、分布式、任務(wù)調(diào)度
- Celery 一個(gè)非常成熟的Python分布式框架需五,可以在分布式的系統(tǒng)中鹉动,異步的執(zhí)行任務(wù),并提供有效的管理和調(diào)度功能宏邮。
- SCOOP 提供簡(jiǎn)單易用的分布式調(diào)用接口泽示,使用Future接口來進(jìn)行并發(fā)。
- Dispy 相比起 Celery 和 SCOOP蜜氨,Dispy 提供更為輕量級(jí)的分布式并行服務(wù)
- PP (Parallel Python)是另外一個(gè)輕量級(jí)的 Python 并行服務(wù)
- Asyncoro 一個(gè)利用 Generator 實(shí)現(xiàn)分布式并發(fā)的 Python 框架
- schedule 一個(gè)簡(jiǎn)單的作業(yè)調(diào)度工具
- APScheduler 任務(wù)調(diào)度模塊械筛,一個(gè) Python 定時(shí)任務(wù)框架
- mpi4py 一個(gè)構(gòu)建在MPI之上的Python庫(kù),主要使用Cython編寫
- threadpool 一個(gè)比較老的線程池庫(kù)飒炎,不太建議使用
- pyee 一個(gè) node.js’s EventEmitter 的 Python 粗略實(shí)現(xiàn)
- Blinker 強(qiáng)大的進(jìn)程內(nèi)信號(hào)庫(kù)埋哟,既支持簡(jiǎn)單的對(duì)象到對(duì)象通信,也支持針對(duì)多個(gè)對(duì)象進(jìn)行組播
HTTP
- Requests 為人類準(zhǔn)備的 HTTP郎汪,以更 pythonic 的方式處理 HTTP 請(qǐng)求赤赊,比 urllib2 好用得多
- builtwith 識(shí)別網(wǎng)站所使用技術(shù)
- whois 域名公共查詢工具:Whois
- robotparser 標(biāo)準(zhǔn)庫(kù),解析 robots.txt 文件
- requestium 是 Requests, Selenium 和 Parsel 的結(jié)合體煞赢,結(jié)合了 Chrome 59 以后的 headless 無頭特性(代替了 phantomjs)
- fake-useragent 偽造 HTTP 請(qǐng)求頭中 User Agent 的值
HTML/XML
- lxml 聯(lián)合了 libxml2 和 libxslt抛计。如果你要處理 XML 或 HTML,lxml 是最好的選擇照筑,真的
- PyQuery 像 JQuery 一樣使用
- html5lib
- BeautifulSoup 一個(gè)可以從 HTML 或 XML 文件中提取數(shù)據(jù)的 Python 庫(kù)
- requests-html HTML 解析庫(kù)爷辱,是對(duì) Requests, PyQuery, lxml 等庫(kù)的封裝
Web 框架
- Django 以快速開發(fā)和結(jié)構(gòu)整潔著稱的高層框架录豺。這個(gè)開源免費(fèi)的框架完全由 Python 編寫并且遵循 MVC 的模型
- Flask 基于 WerkzeugWSGI 工具箱和 jinja 模板朦肘,適合開發(fā)輕量級(jí)的 Web 應(yīng)用饭弓,有很多第三方擴(kuò)展
- tornado 一個(gè)強(qiáng)大的、可擴(kuò)展的異步非阻塞 Web 服務(wù)器媒抠,同時(shí)也是一個(gè)輕量級(jí) Web 框架
- Sanic 一個(gè)與 Flask 類似弟断,基于 uvloop 的 web 框架,它能讓 Python 更快速
- Quart 與 Flask 相似趴生,而且與 Flask API 兼容阀趴,并添加了添加異步、WebSocket和 HTTP 2 支持
- FastAPI 一個(gè)高性能 Web 框架苍匆,用于構(gòu)建 API刘急,非常高的性能
- Vibora 異步快速的 HTTP 客戶端/服務(wù)器框架
- Bottle 是一個(gè)快速、簡(jiǎn)單浸踩、輕量的WSGI微型web框架叔汁。利用Bottle構(gòu)建小型站點(diǎn)和API的時(shí)間以秒計(jì)算。這個(gè)框架只有一個(gè)py文件检碗,你可以把它放進(jìn)任何目錄
- CherryPy 是HTTP協(xié)議的一個(gè)封裝据块,這樣其他軟件可以使用它來處理HTTP協(xié)議的細(xì)節(jié)。它是一個(gè)低層的框架折剃,它只提供 RFC 2616 定義的功能另假。接口非常 Pythonic,讓 Python 開發(fā)者不會(huì)感到突兀
- Pyramid 包含了一些 Python/Perl/Ruby 獨(dú)有的特性怕犁,擁有不依賴平臺(tái)的 MVC 架構(gòu)边篮,和最快的啟動(dòng)開發(fā)的能力。以執(zhí)行效率和快速開發(fā)的能力著稱
- TurboGear 建立在其他框架基礎(chǔ)上的框架奏甫,把其他框架優(yōu)秀的部分集成到一起戈轿。由于每個(gè)框架都有一些部分做得不好,TurboGear試圖解決這個(gè)問題.它允許你從一個(gè)單文件服務(wù)開始扶檐,逐步擴(kuò)展為一個(gè)全棧服務(wù)
- web.py 一款輕量級(jí)的 Python web 開發(fā)框架凶杖,簡(jiǎn)單、高效
- web2py 一種免費(fèi)的款筑、開源的 web 開發(fā)框架智蝠,用于敏捷地開發(fā)安全的、數(shù)據(jù)庫(kù)驅(qū)動(dòng)的 web 應(yīng)用
- hug 旨在簡(jiǎn)化 Python RESET APIs 的開發(fā)奈梳,其本身并非一個(gè)網(wǎng)絡(luò)框架杈湾,構(gòu)建在 Falcon 的高性能 HTTP 庫(kù)之上,意味著可以使用任何 wsgi 兼容的服務(wù)器(例如 gunicorn)將其部署到生產(chǎn)環(huán)境中
- Connexion 一個(gè)基于Flask實(shí)現(xiàn)的一個(gè)框架攘须,它基于以YAML格式描述的API的OpenAPI 2.0規(guī)范(以前稱為Swagger Spec)自動(dòng)處理HTTP請(qǐng)求
Web Server
- Gunicorn Green Unicorn漆撞,是一個(gè) WSGI 服務(wù)器,用來支持 Python 應(yīng)用,被設(shè)計(jì)成運(yùn)行于Nginx之后浮驳,輕量級(jí)悍汛、易于使用、并使用許多UNIX特性
- uWSGI 用來構(gòu)建全棧式的主機(jī)服務(wù)至会,既能當(dāng)作獨(dú)立的 web 路由器來運(yùn)行离咐,也能運(yùn)行在一個(gè)完整 web 服務(wù)器(比如Nginx或Apache)之后
- Meinheld 一個(gè)高性能的異步 WSGI Web 服務(wù), 利用 greenlet 和 Picoev 實(shí)現(xiàn)異步 I/O
網(wǎng)絡(luò)爬蟲
- scrapy 一個(gè)快速、高層次的屏幕抓取和web抓取框架奉件,用于抓取web站點(diǎn)并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)
- mechanize 是對(duì) urllib2 的部分功能的替換宵蛀,能夠更好的模擬瀏覽器行為
- selenium 一個(gè)調(diào)用瀏覽器的 Driver,通過這個(gè)庫(kù)你可以直接調(diào)用瀏覽器完成某些操作县貌。關(guān)于其使用术陶,有一個(gè)不錯(cuò)的教程:Free Selenium Tutorials
- cola 一個(gè)分布式爬蟲框架
- pyspider 國(guó)人編寫的強(qiáng)大的網(wǎng)絡(luò)爬蟲系統(tǒng)并帶有強(qiáng)大的WebUI。分布式架構(gòu)煤痕,支持多種數(shù)據(jù)庫(kù)后端梧宫,支持腳本編輯器,任務(wù)監(jiān)視器杭攻,項(xiàng)目管理器以及結(jié)果查看器
消息隊(duì)列
- pika RabbitMQ 的 Python 庫(kù)
- zmq ZeroMQ 的 Python 庫(kù)
- kafka-python Apache Kafka 的 Python 庫(kù)
- boto 亞馬遜消息列隊(duì)服務(wù) Python SDK
遠(yuǎn)程對(duì)象支持
日期與時(shí)間處理
- Delorean 用它處理日期和時(shí)間非常方便祟敛。設(shè)置時(shí)區(qū),截取到秒兆解、分馆铁、小時(shí),甚至使用特定步驟從一個(gè)日期進(jìn)到另一個(gè)日期
- Arrow 提供了合理的锅睛、友好的方式來創(chuàng)建埠巨、控制、格式化现拒、轉(zhuǎn)換 Python 的日期辣垒、時(shí)間和時(shí)間戳
- Pendulum 在標(biāo)準(zhǔn)庫(kù)的基礎(chǔ)之上,提供了一個(gè)更簡(jiǎn)潔印蔬,更易于使用的 API
- dateutil 是 datetime 標(biāo)準(zhǔn)庫(kù)的一個(gè)擴(kuò)展庫(kù)勋桶,幾乎支持以所有字符串格式對(duì)日期進(jìn)行通用解析,日期計(jì)算靈活侥猬,內(nèi)部數(shù)據(jù)更新及時(shí)
- moment 用于處理日期/時(shí)間的 Python 庫(kù)例驹,設(shè)計(jì)靈感同樣是來源于 moment.js 和 requests ,設(shè)計(jì)理念源自 Times Python 模塊
- when.py 提供對(duì)用戶非常友好的特性來幫助執(zhí)行常見的日期和時(shí)間操作
- maya 主要為了解決解析網(wǎng)站時(shí)間數(shù)據(jù)的問題
- Chronyk 用于解析手寫格式的時(shí)間和日期
- delorean 一個(gè)很方便的日期時(shí)間庫(kù)退唠,可以讓人更簡(jiǎn)單省心的獲取時(shí)間鹃锈,不必受困于時(shí)間模塊中的各種問題
Excel
SSH
科學(xué)計(jì)算與數(shù)據(jù)處理
- numpy
- pandas
- PyTables 提供了一些用于結(jié)構(gòu)化數(shù)組的高級(jí)查詢功能,而且還能添加列索引以提升查詢速度瞧预,這跟關(guān)系型數(shù)據(jù)庫(kù)所提供的表索引功能非常類似屎债。
- h5py 將數(shù)據(jù)存儲(chǔ)為高效且可壓縮的HDF5格式
- umexpr 基于 NumPy 的快速數(shù)值表達(dá)式求值庫(kù)
- dask 一個(gè)并行計(jì)算庫(kù)仅政,能在集群中進(jìn)行分布式計(jì)算,能以一種更方便簡(jiǎn)潔的方式處理大數(shù)據(jù)量
- fastcache 用 C 實(shí)現(xiàn)的盆驹,更快的圆丹,兼容 Python2 和 Python3 的緩存模塊
- PrettyPandas 用 pandas Style API 來將DataFrames轉(zhuǎn)換成適合展示的表格
- bcolz 列式存儲(chǔ)的數(shù)據(jù)持久化方案,壓縮率高而且查詢速度快
- odo 在各種數(shù)據(jù)格式之間高效的遷移數(shù)據(jù)召娜。這里的數(shù)據(jù)格式既包括內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)运褪,比如:列表、集合玖瘸、元組、迭代器檀咙、numpy中的ndarray雅倒、pandas中的DataFrame、dynd中的array弧可,以及上述各類的流式序列蔑匣。也包括存在于Python程序之外的持久化數(shù)據(jù),比如:CSV棕诵、JSON裁良、行定界的JSON,以及以上各類的遠(yuǎn)程版本校套,HDF5 (標(biāo)準(zhǔn)格式與Pandas格式皆可)价脾、 BColz、 SAS笛匙、 SQL 數(shù)據(jù)庫(kù) ( SQLAlchemy支持的皆可)侨把、 Mongo 等
- Blaze 用于處理數(shù)據(jù)庫(kù)和分析查詢的陣列技術(shù)。是下一代的 NumPy妹孙。用于處理分布式的各種不同數(shù)據(jù)源的計(jì)算
- joblib 為Python函數(shù)提供輕量級(jí)管道任務(wù)(pipeline job)服務(wù)的一系列工具秋柄,包括透明磁盤IO緩沖、快速序列化蠢正、簡(jiǎn)單并行化運(yùn)行骇笔、日志服務(wù)等,為大數(shù)據(jù)集的快速可靠處理進(jìn)行了優(yōu)化嚣崭,特別針對(duì)numpy數(shù)組的處理進(jìn)行了優(yōu)化
文本與自然語言處理
- Chardet 字符編碼探測(cè)器笨触,可以自動(dòng)檢測(cè)文本、網(wǎng)頁有鹿、xml的編碼
- fuzzyfinder 10 行代碼寫的模糊查詢
- fuzzywuzzy 字符串模糊匹配工具
- flashtext 快速進(jìn)行大規(guī)模語料庫(kù)的文本搜索與替換
- python-pinyin 將漢字轉(zhuǎn)為拼音旭旭。可以用于漢字注音葱跋、排序持寄、檢索
- xpinyin 將漢字轉(zhuǎn)換為拼音的函數(shù)庫(kù)
- Pinyin2Hanzi 拼音轉(zhuǎn)漢字源梭,可以作為拼音輸入法的轉(zhuǎn)換引擎
- jieba 中文分詞組件
- thulac 一個(gè)高效的中文詞法分析工具包
- SnowNLP 處理中文文本的庫(kù)
- pkuseg-python 北大開源的領(lǐng)域細(xì)分的中文分詞工具,簡(jiǎn)單易用
代碼與性能測(cè)試
- profile/cProfile 標(biāo)準(zhǔn)庫(kù)提供的性能分析工具
- line_profile 基于函數(shù)的性能分析工具稍味,可測(cè)試函數(shù)中每一行代碼消耗的 CPU 時(shí)間
- snakeviz 基于 cProfile 的性能分析工具废麻,可將分析結(jié)果圖形化展示
- memory_profiler 內(nèi)存占用分析工具,基于函數(shù)模庐,可分析函數(shù)中每一行代碼的內(nèi)存占用
- pytest 一個(gè)成熟的全功能的 Python 測(cè)試框架
- mock 用來創(chuàng)建和管理模擬對(duì)象烛愧,以完成單元測(cè)試,在 Python 3.x 中已被集成到 unittest 標(biāo)準(zhǔn)庫(kù)
- Fudge 是一個(gè)類似于 Java 中的 JMock 的純 python 的 mock 測(cè)試模塊掂碱,主要功能就是可以偽造對(duì)象怜姿,替換代碼中真實(shí)的對(duì)象,來完成測(cè)試
- httmock 基于 Mock 庫(kù)疼燥,更方便于用 requests 的方式來返回接口的值
- HTTPretty HTTP 請(qǐng)求的 mock 工具
- vcrpy 自動(dòng) mock HTTP 交互
- HTMLTestRunner 是 Python 標(biāo)準(zhǔn)庫(kù) unittest 單元測(cè)試框架的一個(gè)擴(kuò)展沧卢,用來生成 HTML 測(cè)試報(bào)告
- Locust 是一個(gè) Python 的性能測(cè)試工具,可以通過寫 Python 腳本的方式來對(duì) web 接口進(jìn)行負(fù)載測(cè)試
性能優(yōu)化
- numba 使用 Just-in-Time(JIT) 即時(shí)編譯器的方式加速代碼醉者,其 Python 源碼通過 LLVMPy 生成 JIT 后的 so文件來加速
- cython 是 Python 的 C 語言擴(kuò)展但狭。準(zhǔn)確說 Cython 是單獨(dú)的一門語言,專門用來寫在 Python 里面 import 用的擴(kuò)展庫(kù)撬即。實(shí)際上 Cython 的語法基本上跟 Python 一致立磁,而 Cython 有專門的編譯器:先將 Cython 代碼轉(zhuǎn)變成 C(自動(dòng)加入了一大堆的 C-Python API),然后使用 C 編譯器編譯出最終的 Python 可調(diào)用的模塊剥槐。不過 Cython 的缺點(diǎn)是唱歧,你并不能真正編寫 Python 代碼
- pypy 使用 Python 實(shí)現(xiàn)的解釋器,它使用了 Just-in-Time(JIT) 即時(shí)編譯器才沧,即動(dòng)態(tài)編譯器迈喉,與靜態(tài)編譯器(如gcc,java等)不同,它是利用程序運(yùn)行的過程的數(shù)據(jù)進(jìn)行優(yōu)化
- Pyston 是一款 Dropbox 推出的新的基于 JIT 的 Python 實(shí)現(xiàn)温圆,使用 LLVM 編譯器實(shí)現(xiàn)代碼解析與轉(zhuǎn)換