第三方Python庫基本概念簡述
在應用Python編程語言進行實際編程時,我們通常會使用一些比較重要的庫賴滿足我們的開發需求。在這里我們就先來一起了解一下有關第三方Python庫的基本功能特點,以方便大家對此有一個充分的了解。#t#
第三方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 并不比這些昂貴的工具差多少哦!
第三方Python庫之py2exe
按照邪惡的 windows 思維,編寫的應用如果不編譯出一個 .exe 文件恐怕是算不得“軟件”的,py2exe 作用正是把你的 .py 腳本變成 .exe 文件,通常它會把腳本打包到一個 .zip 文件中去,但也你可以通過修改 setup.py 腳本把所有的腳本、依賴的 dll 等全部打包到一個 exe 中去,看起來跟 VC、VB 編譯出來的程序沒有什么兩樣!
如果你的客戶需要在 windows 下使用你的應用程序,py2exe 是你不可或缺的工具。我就是用它打包由 wxPython 寫的小工具給公司里的游戲策劃用的。
第三方Python庫之psyco
腳本的執行效率多少有點差強人意,雖然優化起來并不是難事,但如果有簡單的方法,近乎不用修改源代碼,那當然值得去關注一下。psyco 的神奇在于它只需要在代碼的入口處調用短短兩行代碼,性能就能提升 40% 或更多,真可謂是立竿見影!
如果你的客戶覺得你的程序有點慢,敬請不要急著去優化代碼,psyco 或許能讓他立即改變看法。psyco 堪稱 Python 的 jit,有許多潛力可以挖掘,如果剩下來給你優化性能的時間已經不多,請馬上去閱讀它的手冊,有許多招兒輕松優化性能。
第三方Python庫之PIL
PIL 是 Python 的圖像處理庫,我的看法是強到沒得說,簡單到沒得說。它可以打開數十種圖像格式,常見的 jpg/png/bmp 等當然不在話下;此外還提供許多圖像處理函數,如圖像增強、濾波算法等,詳情可以參考我以前的一篇文章《用Python 做圖像處理》(http://blog.csdn.net/lanphaday/archive/2007/10/28/1852726.aspx)和《計算圖像相似度》(http://blog.csdn.net/lanphaday/archive/2008/04/24/2325027.aspx)。
第三方Python庫之MySQLdb
這是 Python 對開源數據庫 Mysql 的支持,官網在http://sourceforge.net/projects/mysql-python。支持 Mysql 3.23-5.1 全系列版本,Python 版本的要求是 2.3-2.5。MySQLdb 是 Python DB API-2.0 的實現,現在已經很成熟了。***的版本是 1.2.2 。
如果從事服務器開發,那少不得跟數據庫連接池打交道,這時你可以使用 DBUtils 或 jonpy 兩個開源程序庫。其中 DBUtils 是一套數據庫連接池庫,而 jonpy 則包括了 CGI 以及數據庫連接池等多個功能,請在閱讀手冊后選擇合適的自己庫。
第三方Python庫之pyprocessing
Python 解釋器里的 GIL(全局解釋器鎖)使得 Python 在多核時代有點尷尬——這個支持原生線程的腳本語言竟然不能通過多線程利用多個 CPU 內核同時并發計算。pyprocessing 沒有嘗試去除 GIL,而是劍走偏鋒,嘗試從多進程的方式來幫助 Python 走出困境。結果就是使用 pyprocessing 創建進程和進程間通信不僅像使用內置的 threading 模塊那么簡單,甚至還更加簡單。pyprocessing 不僅可以通過本機 socket 和管道進行通信,而且封裝得極為***,它的 Queue 實現用起來跟內置的 Queue 沒啥兩樣,但它是一個進程間共享的隊列哦!
pyprocessing 在 py2.6 和 py3.0 中已經作為內置模塊了,也算是開發社區對 pyprocessing 項目的肯定吧。如果你用 Python 開發服務器應用,特別是網絡游戲這樣的應用,pyprocessing 怎么可以不去關注一下!
以上就是我們為大家詳細介紹的有關第三方Python庫的一些內容。