強(qiáng)大的Python社區(qū)說(shuō)明
Python語(yǔ)言還有很多不完善的地方,Python社區(qū)非常活躍,等模塊穩(wěn)定了之后再用C/C++等語(yǔ)言來(lái)實(shí)現(xiàn)替換Python模塊;下面進(jìn)行學(xué)習(xí)思考,希望本文能給大家?guī)?lái)相關(guān)有用信息。
稍稍解釋一下程序代碼:setattr(object, name, value)函數(shù)的功能是用來(lái)改變object類的name屬性值為value;這里就是改變Test類的fun方法為一個(gè)新的方法 replacement,instancemethod(function, instance, class)函數(shù)返回一個(gè)方法對(duì)象。
注意在python里一切皆對(duì)象;可見setattr(…)一個(gè)語(yǔ)句就把Test類的fun方法替換成為 changed函數(shù)了,體現(xiàn)了python的簡(jiǎn)單強(qiáng)大。 Python語(yǔ)言的執(zhí)行效率跟C/C++/Java比起來(lái)要稍遜一籌,但是代碼長(zhǎng)度大大縮短,并且Python跨平臺(tái)、類庫(kù)豐富、語(yǔ)法簡(jiǎn)單、開發(fā)速度快。
因此常用Python代替C/Java構(gòu)建大程序,涉及到系統(tǒng)效率的地方可以考慮用C/C++實(shí)現(xiàn)。而且Python也可以做glue language(膠水語(yǔ)言),因?yàn)?FONT size=+0>Python跟C和Java的溝通能力非常的好。 Python語(yǔ)言的執(zhí)行效率跟C/C++/Java比起來(lái)要稍遜一籌,但是代碼長(zhǎng)度大大縮短,并且Python跨平臺(tái)、類庫(kù)豐富、語(yǔ)法簡(jiǎn)單、開發(fā)速度快。
因此常用Python代替C/Java構(gòu)建大程序,涉及到系統(tǒng)效率的地方可以考慮用C/C++實(shí)現(xiàn)。而且Python也可以做glue language(膠水語(yǔ)言),因?yàn)?FONT size=+0>Python跟C和Java的溝通能力非常的好。
Perl原是專門設(shè)計(jì)處理文本的,這方面能力***,但是不適合編寫大程序,語(yǔ)法晦澀難懂,與之相比,Python更易閱讀,學(xué)習(xí),可維護(hù)性更強(qiáng),代碼安全性更好(Python的異常處理)。并且與Java語(yǔ)言更好的集成能力;Tcl的語(yǔ)法簡(jiǎn)單,和其它程序的交互能力強(qiáng),可以和C語(yǔ)言集成,而且有tk輔助 GUI開發(fā)。
但是Tcl更多是作為scripting language和glue language,不適合寫大程序,與之相比Python的應(yīng)用范圍要廣闊的多。 Python的正則表達(dá)式?jīng)]有Ruby的用著方便,Ruby比Python有更完整的面向?qū)ο蟮恼Z(yǔ)法,Ruby的主要功能都是用類的方法調(diào)用來(lái)實(shí)現(xiàn)的,不是函數(shù);
另一方面由于Ruby的強(qiáng)大,語(yǔ)言相對(duì)Python社區(qū),Ruby沒有內(nèi)省性,缺乏國(guó)際化支持,缺乏類似Jython的東西。 Python自身的優(yōu)秀特性決定了其在實(shí)際應(yīng)用中的廣泛性。快速原型開發(fā);網(wǎng)絡(luò)服務(wù)器腳本;科學(xué)計(jì)算;文檔處理;
數(shù)據(jù)庫(kù)編程;嵌入開發(fā);GUI開發(fā);游戲開發(fā);移動(dòng)開發(fā)......Python擁有強(qiáng)大Python社區(qū)的支持,豐富的類庫(kù),以及C/C++/Java等語(yǔ)言提供可擴(kuò)展模塊。 摩爾定律斷言了處理器、內(nèi)存或者I/O設(shè)備等將不再大幅度影響程序的執(zhí)行效率,對(duì)于相當(dāng)一部分的應(yīng)用程序而言,實(shí)現(xiàn)同樣的功能。
用系統(tǒng)語(yǔ)言和腳本語(yǔ)言相比,生成代碼的運(yùn)行效率可能都會(huì)在可容忍的范圍內(nèi),但是腳本語(yǔ)言代碼量可能會(huì)低很多(Python和Java大約是1:6)。開發(fā)周期更短,而且現(xiàn)在很多常用的功能都已經(jīng)用系統(tǒng)語(yǔ)言實(shí)現(xiàn)了,可以作為功能模塊,配合腳本語(yǔ)言的glue功能,即可完成系統(tǒng)實(shí)現(xiàn)。
【編輯推薦】