Python
語言之因此可以如此流行,除了自己內置許多程序庫來保障快速開發以外,目不睱接的第三方庫也是一大主因。結合我目前的工做(網遊開發),我經常使用的幾個第三方庫以下:
wxPython
若是你以前是
windows
程序員,用
MFC
或者
WIN32API
開發界面程序,那進入
Python
國度最好的
GUI
選擇應該是
wxPython
。它是
wxWidgets
的
Python Bind
,與
wxWidgets
的開發完美同步,最爲重要的一點是它的消息機制與
MFC
頗爲類似,之前在
MFC
的經驗徹底能夠稍做變化就套用在
wxPython
上面。在
WIN32
開發中,最討厭的一環確定有
WM_SIZE
消息的處,在主窗口大小變化的時候,保持控件佈局在
WIN32
是一件麻煩事。這件事情
wx
解決得很是完美,它的
sizer
概念可讓我輕鬆地在不一樣窗口尺寸的狀況下保持完美的控件佈局。另外若是你已經討厭了
MFC
的
doc-view
模型,
wx
也能夠給你一個新的選擇;若是你很是喜歡
doc-view
模型,放心,在
wx
中仍然能夠輕鬆實現,之前的思想依然能夠在這裏發揮餘熱。
wxPython
有兩個封裝,一個
PythonCard
,另外一個是
dabo
。前者是
wxPython
的有限封裝,不支持
wxPython
的所有特性,它的目標是讓
wxPython
更加
Pythonic
。後者比
PythonCard
要龐大很多,確切來講,它應該是一個三層架構的
C/S
模式的開發框架。若是你想開發基於數據庫的應用(如
MIS
、
ERP
等)用
dabo
是一個不錯的選擇;另外,若是你以前習慣了
VB
、
VFP
、
Delphi
等
RAD
開發環境,
dabo
並不比這些昂貴的工具差多少哦!
py2exe
按照邪惡的
windows
思惟,編寫的應用若是不編譯出一個
.exe
文件恐怕是算不得「軟件」的,
py2exe
做用正是把你的
.py
腳本變成
.exe
文件,一般它會把腳本打包到一個
.zip
文件中去,但也你能夠經過修改
setup.py
腳本把全部的腳本、依賴的
dll
等所有打包到一個
exe
中去,看起來跟
VC
、
VB
編譯出來的程序沒有什麼兩樣!
若是你的客戶須要在
windows
下使用你的應用程序,
py2exe
是你不可或缺的工具。我就是用它打包由 wxPython 寫的小工具給公司裏的遊戲策劃用的。
psyco
腳本的執行效率多少有點差強人意,雖然優化起來並非難事,但若是有簡單的方法,近乎不用修改源代碼,那固然值得去關注一下。
psyco
的神奇在於它只須要在代碼的入口處調用短短兩行代碼,性能就能提高
40%
或更多,真可謂是立竿見影!
若是你的客戶以爲你的程序有點慢,敬請不要急着去優化代碼,
psyco
或許能讓他當即改變見解。
psyco
堪稱
Python
的
jit
,有許多潛力能夠挖掘,若是剩下來給你優化性能的時間已經很少,請立刻去閱讀它的手冊,有許多招兒輕鬆優化性能。
PIL
MySQLdb
若是從事服務器開發,那少不得跟數據庫鏈接池打交道,這時你可使用
DBUtils
或
jonpy
兩個開源程序庫。其中
DBUtils
是一套數據庫鏈接池庫,而
jonpy
則包括了
CGI
以及數據庫鏈接池等多個功能,請在閱讀手冊後選擇合適的本身庫。
pyprocessing
Python
解釋器裏的
GIL
(全局解釋器鎖)使得
Python
在多核時代有點尷尬——這個支持原生線程的腳本語言居然不能經過多線程利用多個
CPU
內核同時併發計算。
pyprocessing
沒有嘗試去除
GIL
,而是劍走偏鋒,嘗試從多進程的方式來幫助
Python
走出困境。結果就是使用
pyprocessing
建立進程和進程間通訊不只像使用內置的
threading
模塊那麼簡單,甚至還更加簡單。
pyprocessing
不只能夠經過本機
socket
和管道進行通訊,並且封裝得極爲完美,它的
Queue
實現用起來跟內置的
Queue
沒啥兩樣,但它是一個進程間共享的隊列哦!
pyprocessing
在
py2.6
和
py3.0
中已經做爲內置模塊了,也算是開發社區對
pyprocessing
項目的確定吧。若是你用
Python
開發服務器應用,特別是網絡遊戲這樣的應用,
pyprocessing
怎麼能夠不去關注一下!