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

















