您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python語言的標準庫有哪些”,在日常操作中,相信很多人在Python語言的標準庫有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python語言的標準庫有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
SQLObject
SQLObject 可以看做是Python領域的Hibernate。它也是目前python社區中最為成熟方便的O/R mapping工具。和Hibernate相比,SQLObject 利用了動態語言的獨有特性,通過靈活使用繼承、靈活使用MetaData?能力,能夠快速方便定義直接在程序中定義映射類,不用像Hibernate中那樣還需單獨定義一個XML文件。同樣,借助強大的動態能力,SQLObject 還擁有一個Hibernate所遠不及的功能,那就是SQLObject 的映射類可以在運行時動態改變自身結構,這也意味著數據庫中的表結構也可以在運行時進行改變。總之,對Hibernate略有了解的開發者均能迅速理解SQLObject。雖然我一直認為SQLObject 還遠未能將Python 的動態能力發揮到***。不過這卻是一個良好的開始。也許我們可以在不久將來看到更多更具新意的O/R mapping 工具。
TurboGear?
自RoR(Ruby on Rails)在Web開發領域一夜成名后,在其它語言社區,跟風之作也如雨后春筍一般涌現出來。雖然TurboGear?并非刻意模仿RoR 之作,不過它確確實實借著RoR流行潮流得到更多人的重視。與RoR相同,TurboGear?也是一個輕量級Web開發套件,通過幾個命令行工具能夠快速生成以數據庫為核心的基本框架代碼。典型的RoR 思想!這和許多開源框架的原則一樣——“避免重新發明輪子”。TurboGear?的Web 控制層使用CherryPy?;持久層使用SQLObject;模板使用Kid;AJAX使用MochiKit?。幾乎所有的重要的功能組件都源自第三方。TurboGear?自身更像一個黏合劑,把所有的功能組合在一起,并能夠形成力量的倍增。
4Suite
雖然Python 標準庫提供了XML處理工具,但是它只提供一些基本功能。如果你想獲得更為強大的XML 處理能力,4Suite是一個更好的選擇。
4Suite被稱為XML工具中“內行的選擇”。除了最基本的Dom-Like和SAX-Like處理庫外,4Suite 還提供XInclude,XPointer,XLink,XPath,XUpdate用于XML文檔的查詢、更新操作等等;提供XSLT完整處理能力。
4Suite不光功能強大,性能也相當不錯。這主要是得益于其核心代碼部分采用C完成。這在需要處理大量XML文檔的地方,4Suite實在是一個***的選擇。
Pyro
Pyro 的全稱是“Python Remote Objects”。按照字面即可理解Pyro 的功能:提供遠程對象。Pyro 為Python語言提供異常簡潔的RPC解決方案。其實Python語言中不乏一些更加通用的遠程調用方案,例如都是基于XML 的XMLRPC和SOAP。那么 Pyro這樣的單純的Python遠程調用方案具有什么樣的優勢呢?那就是性能與易用性。
由于動態語言具有強大反射能力,因此實現對象序列化對于Python來說簡直易如反掌。對象的序列化在Python中被稱為pickle,這是許多Python應用的核心機制。Pyro 也正是充分利用pickle 的威力,在網絡間提供遠程對象的調用。它的性能要遠遠超過使用XML 對遠程對象進行編碼/解碼。同時,它在接口調用設計上也非常簡潔。在服務器端和客戶端只需2、3 行代碼就完成對象的封裝與調用,遠比SOAP來得簡單輕松。
Twisted
上個月,Zope 3.2發布,在這個***版中, 一個重要的變化就是:使用了近十年的處理Web請求的網絡框架代碼被放棄,取而代之是以Twisted 為核心實現的代碼。據稱這樣可以改善系統性能以及可擴展性。于是Twisted庫再一次成為了人們關注的焦點。 Twisted 的核心概念是非阻塞異步網絡服務器(所以它也被成為Python中ACE,如果你還不知道什么是 ACE,那么看看前面關于C++庫的文章),這是目前為止性能***的網絡處理模型。也許是非阻塞異步處理的天生復雜性所致,Twisted 幾乎是我所見過的最復雜,最難用的Python庫。Twisted 的使用者需要面對大量新的概念和新的模式,這一點上和ACE 倒頗有幾分相似。陡峭的學習曲線,阻礙了很多人掌握Twisted 庫。這也許是想要獲得高性能所付出的必要代價。難怪 O’REYLLI在其出版的關于Twisted的書的封面引用了一只九頭怪蛇,還真是貼切。
Psyco
贊美Python的好話可以說一籮筐,那么它的缺點是什么?這還用問嗎,當然是性能。性能——已經成為Python根深蒂固的老毛病了。不要說和C++/Java/C#這樣的語言相比,即使是和它的同門兄弟們——Ruby、Perl、PHP 這樣的腳本語言相比,Python的性能依然是最糟糕的。Python的設計者們似乎僅僅在乎語言機制的***,幾乎不考慮性能。CPythony 引擎已經發展了這么多年,查看其源代碼,性能優化代碼少之又少。對象引用模型至今還在使用引用計數器的方式,至于發展一個JIT 引擎,算了吧,不要指望了。還好,Psyco 的出現,帶給我們了一線希望。Psyco 通過將運行中字節碼編譯為二進制代碼從而大幅提升整個應用的性能,在某些環境中甚至能將速度提升一個數量級。雖然Psyco還不能視為一個真正意義上的JIT 的引擎,也無法像Java中的JIT 那樣提供完全透明的服務。但我們仍然要為Psyco的發展感到振奮。目前,在其***版本中,只需兩行代碼的添加,就能使你的程序充分使用Psyco,從而提升性能。
wxPython
在許多人眼里,動態語言/腳本語言一般僅適合完成命令行或WEB的工作,而在桌面開發方面實在是丑陋不堪。而wxPython的出現無疑是給這種偏見以有力的回擊。
wxPython 實際上發展多年的C++框架wxWindow(現已更名為wxWidgets)的Python封裝。而 wxWindow的目標是建立一個跨平臺的GUI 框架。wxWindow 現已能在Windows/Unix/Mac 上良好運行。自然wxPython也能橫跨上述幾個平臺。
wxPython 使用的原生窗口。這就意味著使用wxPython 開發的GUI 和操作系統本地GUI 系統在界面外觀上沒有任何區別。如果和Java中GUI庫對比一下,就可以發現,wxPython 更加類似SWT 而不是Swing。因為SWT也是使用的原生窗口,想想Eclipse 的界面有多漂亮就知道原生窗口的優勢了。
雖然不少C++愛好者對wxWindow框架的設計頗有微詞,不過在經過Python的封裝后,沒有了指針、沒有了 MFC時代的事件機制,wx框架的易用性獲得了極大提升。這也是Python的另一個巨大魅力所在。
到此,關于“Python語言的標準庫有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。