具體說明Python核心編程框架
下面文章主要介紹Python核心編程的構造和技巧,Python確實是一種十分精彩又強大的語言,可以通過在不同的平臺上進行程序的運行和操作,即使對不了解開發編程的用戶來說Python確實是一門入手的好語言。
所以先把它們放進這段代碼,在后面會針對它們提一些問題。第二行比較有趣,導入 wxPython 的 wx 庫。當然,wx 庫(基本 wxPython 聲明)包括基本類,如框架和應用程序。
/注意這些行的結尾沒有分號。如果您編寫過 Perl 程序,那您要花費一點功夫來熟悉 Python 的輸入習慣。但等等,它對您來說是陌生的。在第三行,定義了第一個 Python 類 -- main_window。main_window 類是在 wx 模塊中定義的 wxFrame 類的派生類。正如您猜想的,任何窗口都是 wxFrame 類。
在第四行,定義了初始化方法,main_window 需要定義的唯一方法(當然,其它的在 wxFrame 類中)。初始化方法取參數 parent、id、title 以及當然還有(作為該對象的引用的)self。self 參數是所有Python核心編程法的第一個參數。
到現在為止,如果您編寫過 C/C++,您一定奇怪為什么沒有花括號。是很奇怪,Python 把縮進當作重要的句法。任何有子語句的語句以冒號結束,所有該行下的縮進行都屬于以該冒號終止的語句。
當縮進回復到原來的縮進時,這一塊就完成了。更為奇怪的是,這種安排實際上很好用,剛開始編程的程序員發現,這要比用花括號來說明結構要容易。幸運地是,這還意味著更少的擊鍵次數,所以老程序員也能接受它。
所以縮進的第 5、6 和 7 行屬于在第 4 行中定義的方法。它們分別調用 wxFrame 父類的初始化例程(實際進行設置一個窗口的所有繁重工作),定義一個控件以適合新的主窗口,以及確保窗口是可見的。
wxPython 會重新調整父窗口的大小,除非專門告訴不要這樣做。如果您曾編寫過任何 Microsoft Windows 代碼,通過重新調整控件大小來匹配父窗口,那您會很快喜歡 wxPython。
第 6 行的實際意義是完成一個如同 Notepad 一樣的編輯器。這還不算什么。用 C/C++ 代碼,則需要更多才能實現,不是嗎?記住 -- 我們在這做的不是固定大小的對話框,它是真正在窗口主體中和可調整大小的帶編輯器的 Windows- 化應用程序。
讓我們繼續。第 8 行定義了由 wxApp 類派生的 App 對象。它指定了應用程序對象,當運行時,創建一個 main_window 對象,并將它設置為頂部窗口。最后定義完類,創建應用程序對象,開始運行它的主循環。
如果您做過任何 C/C++ Windows 編程,會認識到 MainLoop 方法是所有 Windows 程序的正常事件循環。這個啟動代碼的風格確實與腳本語言保持一致。記住,Python 解釋器逐行讀取代碼,并邊讀邊執行它。所以,一旦定義了類,我們只需在腳本中調用它。
這就是 它。在這十五行代碼中,實現了一個簡單的文本編輯器,這段代碼無需修改就可以在 Windows 或 UNIX 上運行。而且很容易添加更多特性,這太好了,在下一節將要講述這些。
您可能認為,“解釋型語言,效率不高。對于較大的程序,執行起來會很慢?!痹谝欢ǔ潭壬希@是正確的。事實上,任何影響性能的代碼通常用 C/C++ 重新實現,并鏈接到 Python核心編程,這是很容易做的。所以 Python 通常用作綁定功能性模塊和 GUI 顯示(或應用程序服務器功能,如果您需要該功能)的粘合劑。但作為粘合劑,Python 是非常有效的。
您可以在很短的時間內用 Python 實現真正的程序,由于其面向對象和格式方面有限的創造機會,它們通常可使用好幾個星期。而且,如果您懷疑使用解釋型語言將大程序結合在一起的想法,那您不妨考慮一下 Microsoft Word 的早期版本是如何實現的。
至少最近的 Windows 的 Word 版本 6.0,其 Word Basic 函數事實上只是編譯過的代碼;而 GUI 是由 pcode 解釋性型語言構建的。(MS Word 6.0 是用 Word Basic 編寫的,很有效,這是一個很聰明的設計,其原因之一 -- 它是最早用內置解釋器的桌面程序。)
這里您所損失的是在性能方面(實際上,很少),但您可以很容易地通過簡化實現和(更重要)簡化定制來彌補。事實上,通過包含 Python 您已經自動包括了易于展現給您的用戶的腳本語言,同時,對于編程的新手來說,該語言也證明了其易于學習。
如果鉆研它,可以用比您現在花費的要少的功夫創作出世界級的軟件。因為,如果該語言能為 Microsoft 服務,那么,它也能為您服務!無論如何,言歸正傳,這里向您展示一個程序,它事實上做一些值得做的事情。這個程序讓您創建一個稱之為項目的文本文件列表。您可以編輯和保存它們。
更重要的是,您可以很容易地看到如何進一步增強基本組織器。我使用一個擴展版本為 CVS(標準開放源碼版本控制系統)的前端。代碼在下面。我們(仍然相當?。┑膽贸绦驈?15 行擴展到大約 300行,但它現在能實現許多事情。
【編輯推薦】