Python 3.0 beta 1超簡潔語法運用
就我個人而言,Python 3.0 beta 1的發布具有更加優化和統一的語言特點,如果你對Python 3.0 beta 1想有更好的了解,你就可以瀏覽一下我們的文章,此文章就是對其相關內容的詳細介紹。
與Python 3.0 beta1 發布這種語言具有非常簡捷而清晰的語法特點,適合完成各種高層任務,幾乎可以在所有的操作系統中運行.目前,基于這種語言的相關技術正在飛速的發展,用戶數量急劇擴大,相關的資源非常多.
Python 3.0 beta 1 在跳票了很短的一段時間后,在 6 月 18 號發布了,其實北京時間應該是 19 號了(下載:http://www.python.org/download/releases/3.0/)。因為是第一個 beta 版本,所以從 what’s new 上可以看出做了很多更改,跟之前的 alpha 版本有較大的不同。最大的特點在于完全依照了更簡潔、更統一的精神,修正了許多原有版本中遺留下來的缺陷。
對比前面幾個 alpha 版本,可以發現一些基礎設施如 bytes、int 和一些跟 unicode 有關的部分已經漸漸穩定下來,對于像itertools 中的 izip()、imap()替代 builtin 的 zip、map等語言特色的東西都已經完成,可以說核心進度頗佳。估計 beta 版本更多的是重新整理庫的組織形式、修 bug 和優化了。對于 py3.0,我覺得精彩可期啊!
win9x 算是走到了盡頭了,Python 3.0 beta 1已經去除了 winsound 模塊對 win9x 的支持。除此之外,b1 版本修正了幾十個 bugs。另外,值得一提的是生成器有了 gen.__name__ 屬性,就像函數的 func.__name__ 屬性一樣,enumerate() 多了一個 start 參考,顯然,這有一定的需要。#t#
beta 1 的特色之一是許多標準模塊以包的形式組織:比如 urllib 包,它包括了原來 urllib、urllib2、urlparse、robotparse等模塊的內容;另外是多了一個 http 包,原來的 httplib 變成了 http.client,Cookie 變成 http.cookies,cookieslib變成了 http.cookiejar,而 HTTPServer 就成了 http.server;
還多了 xmlrpc 包,包括了原來的 xmlrpclib 等模塊;之前類似的 dbm、gdbm、dbhash等全部放入了新建立的 dbm 包里面。怎么樣,看起來是 pythonic 多了吧?之前的標準庫實在太亂了,全部亂亂地放在 libs 下,這樣整理一下非常有必要。
還有許多原來 python 版本和 C 版本庫,如 cStringIO 和 StringIO、pickle 和 cPickle、profile 與 cProfile 等都統一用 C 版本了,但保留了原來 python 版本的模塊名,如 pickle。這種整理也非常必要,許多初學者不知道用哪個版本的好,許多模塊功能一樣的,沒有必要給用戶太多選擇,給最好的就行了。
最后是 Queue 改名為 queue,ConfigParser 改名為 configparser,copy_reg 改名為 copyreg,_winreg 改名為 winreg。threading 模塊的 API 也變得更另 pythonic了,可以預見 python 3.0 寫出來的代碼風格會更加統一,可讀性會更好。
直接去除了模塊也非常多。比如處理 email 的 rfc822、mimetools;還有 htmllib 和 sgmllib。commands、multifile、sre、mhlib、fpformat、dircache、Canvas、user 和 mutex 等模塊都被刪除啦,不過其中有些庫我都很少用到。還有跟 import 有關的 ihooks 和 imputil 模塊也被刪除了,嗚嗚,我有代碼是用 imputil 的呀,還是改用 imp 好了,終究標準模塊保險啊。
implement PEP 3138. repr() now returns printable Unicode characters unescaped, to get an ASCII-only representation of an object use ascii().Implement PEP 3121: new module initialization and finalization API.這是最新的兩個 PEP 實現,基本上無需要關注,當透明就好了。
對比前面幾個 alpha 版本,可以發現一些基礎設施如 bytes、int 和一些跟 unicode 有關的部分已經漸漸穩定下來,對于像itertools 中的 izip()、imap()替代 builtin 的 zip、map等語言特色的東西都已經完成,可以說核心進度頗佳。估計 beta 版本更多的是重新整理庫的組織形式、修 bug 和優化了。對于Python 3.0 beta 1 ,我覺得精彩可期啊!