探秘豐富多彩的Python語言
SQLITE是一款非常小巧的嵌入式開源數(shù)據(jù)庫軟件,也就是說沒有獨立的維護(hù)進(jìn)程,所有的維護(hù)都來自于程序本身。它使用一個文件存儲整個數(shù)據(jù)庫,操作十分方便。它的最大優(yōu)點是使用方便,功能相比于其它大型數(shù)據(jù)庫來說,確實有些差距。
但是性能表現(xiàn)上,SQLITE并不遜色。麻雀雖小,五臟俱全, sqlite 實現(xiàn)了多數(shù) sql-92 的標(biāo)準(zhǔn),比如說 transaction 、 trigger 和復(fù)雜的查詢等。使用sqlite的connect可以創(chuàng)建一個數(shù)據(jù)庫文件,上面我指明了路徑。當(dāng)數(shù)據(jù)庫文件不存在的時候,它會自動創(chuàng)建。
如果已經(jīng)存在這個文件,則打開這個文件。encoding指明保存數(shù)據(jù)所使用的編碼,這里cp936是 Python 中自帶的編碼,其實就是GBK編碼。cx為數(shù)據(jù)庫連接對象,由于設(shè)計者和開源社區(qū)的共同努力,在python中有大量優(yōu)秀的庫可以被直接調(diào)用以高效地完成不同需求的工作。這里列舉一些常見常用的庫:
Tkinter———— Python默認(rèn)的圖形界面接口。Tkinter是一個和Tk接口的Python模塊,Tkinter庫提供了對Tk API的接口,它屬于Tcl/Tk的GUI工具組。Tcl/Tk是由John Ousterhout發(fā)展的書寫和圖形設(shè)備。
Tcl(工具命令語言)是個宏語言,用于簡化shell下復(fù)雜程序的開發(fā),Tk工具包是和Tcl一起開發(fā)的,目的是為了簡化用戶接口的設(shè)計過程。Tk工具包由許多不同的小部件,如一個按鈕、一個滾動條等。通過Tk提供的這些小部件,我們就可快速地進(jìn)行GUI開發(fā)。Perl、Scheme等語言也利用Tk庫進(jìn)行GUI開發(fā)。Tkinter是跨平臺,在各種平臺下都能使用。
Python Imaging Library(PIL)————python提供強(qiáng)大的圖形處理的能力,并提供廣泛的圖形文件格式支持,該庫能進(jìn)行圖形格式的轉(zhuǎn)換、打印和顯示。還能進(jìn)行一些圖形效果的處理,如圖形的放大、縮小和旋轉(zhuǎn)等。是Python用戶進(jìn)行圖象處理的強(qiáng)有力工具。
Pmw(Python megawidgets)Python超級GUI組件集————一個在python中利用Tkinter模塊構(gòu)建的高級GUI組件,每個Pmw都合并了一個或多個Tkinter組件,以實現(xiàn)更有用和更復(fù)雜的功能。
PyXML———— 用Python解析和處理XML文檔的工具包,包中的4DOM是完全相容于W3C DOM規(guī)范的。它包含以下內(nèi)容:xmlproc: 一個符合規(guī)范的XML解析器。Expat: 一個快速的,非驗證的XML解析器。
還有其他和他同級別的還有 PyHtml PySGMLPyGame———— 用于多媒體開發(fā)和游戲軟件開發(fā)的模塊。PyOpenGL———— 模塊封裝了“OpenGL應(yīng)用程序編程接口”,通過該模塊python程序員可在程序中集成2D和3D的圖形。
Python容易擴(kuò)展和嵌入。Python提供的許多標(biāo)準(zhǔn)模塊支持C或者C++接口。Python和C可以一起工作,它可以嵌入到C或者C++的應(yīng)用程序當(dāng)中,因此可用Python語言為應(yīng)用程序提供腳本接口,由于支持跨語言開發(fā),可用Python設(shè)計概念化應(yīng)用程序,并逐步移植到C,使用前不必用C重寫應(yīng)用程序。
(Jython使Python可以和Java一起工作,使開發(fā)者可以在Python里面調(diào)Java的包,也可以在Java里面使用Python的對象。
還有更妙的,由于Jython的解釋器完全用Java編寫,因此可以在支持Java的任何平臺上部署Python程序,甚至WEB瀏覽器也可以直接運行Python腳本。)在某個C++應(yīng)用程序中,我們用一組插件來實現(xiàn)一些具有統(tǒng)一接口的功能,我們使用Python來代替動態(tài)鏈接庫形式的插件。
這樣可以方便地根據(jù)需求的變化改寫腳本代碼,而不是必須重新編譯鏈接二進(jìn)制的動態(tài)鏈接庫。Python強(qiáng)大的功能足以勝任,但是有一些操作系統(tǒng)特定的功能需要用C++來實現(xiàn),再由Python調(diào)用。所以,最基礎(chǔ)地,我們需要做到:
1. 把Python嵌入到C++應(yīng)用程序中,在C++程序中調(diào)用Python函數(shù)和獲得變量的值;
2. 用C++為Python編寫擴(kuò)展模塊(動態(tài)鏈接庫),在Python程序中調(diào)用C++開發(fā)的擴(kuò)展功能函數(shù)。
Python 具有腳本語言中最豐富和強(qiáng)大的類庫,足以支持絕大多數(shù)日常應(yīng)用。它的名字來源于一個喜劇,也許最初設(shè)計Python這種語言的人并沒有想到今天Python會在工業(yè)和科研上獲得如此廣泛的使用。
著名的自由軟件作者Eric Raymond在他的文章《如何成為一名黑客》中,將Python列為黑客應(yīng)當(dāng)學(xué)習(xí)的四種編程語言之一,并建議人們從Python開始學(xué)習(xí)編程。這的確是一個中肯的建議,對于那些從來沒有學(xué)習(xí)過編程或者并非計算機(jī)專業(yè)的編程學(xué)習(xí)者而言,Python是最好的選擇之一。
【編輯推薦】