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