新聞中心
下文介紹Python 腳本的文章,類似的,各種語言之間都互有差異,語言只是工具,要根據(jù)任務(wù)的不同選擇不同的工具,做專家系統(tǒng)就用Prolog,要跟操作系統(tǒng)底層交互就用C,跨平臺就用Java或Python。

在鹽亭等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,鹽亭網(wǎng)站建設(shè)費(fèi)用合理。
一般來說腳本語言的學(xué)習(xí)相比系統(tǒng)編程語言而言要更容易些,因?yàn)橄到y(tǒng)語言(如C/C++/Java)功能更加強(qiáng)大,語言復(fù)雜性高,學(xué)習(xí)周期長;從某種意義上說,腳本語言一句指令可以做更多事。
更加人性化,體現(xiàn)了機(jī)器為人服務(wù)的宗旨。因?yàn)橐粋€程序如果人做的少了,機(jī)器就相應(yīng)做的多了,正好符合自動化的思想,發(fā)明機(jī)器就是為了要減輕人的勞動。腳本語言從這個角度來說是值得大力推崇的。
但是沒有什么是***的,讓機(jī)器做的太多的代價很有可能就是不如讓機(jī)器做的少運(yùn)行效率高。比如Python運(yùn)行時要做動態(tài)的類型檢查,要耗費(fèi)機(jī)器運(yùn)行時間,在C等靜態(tài)編譯的語言中這個工作是留給人做了,還有一些類似的因素,因此C的效率比Python 腳本高很多。
垃圾回收(garbage collection,一下簡稱GC)在當(dāng)前的版本中使用的是引用計(jì)數(shù)垃圾收集和可選的循環(huán)結(jié)構(gòu)垃圾空間掃描技術(shù),一旦對象變得‘不可達(dá)’的時候就會被回收,但是不保證能夠回收包含循環(huán)引用計(jì)數(shù)的內(nèi)存垃圾。引用計(jì)數(shù)的算法比較直觀:在每個存儲片中記錄了指向其的指針數(shù)目;在對存儲片進(jìn)行某些操作時,對引用計(jì)數(shù)進(jìn)行更新。
分配一個存儲片時引用計(jì)數(shù)初始化為1,只要存儲片的引用被復(fù)制,引用計(jì)數(shù)加1,存儲片的引用被刪除時,引用計(jì)數(shù)減1,如果引用計(jì)數(shù)減為0,則存儲片會由于不可達(dá)而被回收。
很明顯引用計(jì)數(shù)算法不能回收循環(huán)的數(shù)據(jù)結(jié)構(gòu);設(shè)想一個簡單的場景:對象a一個成員指向?qū)ο骲,同時b也有一個成員指向a。而且代碼中只有引用a的部分,b對象只是輔助a對象而生成的,如果后來a對象被刪除了,那么a和b作為一個整體都變成內(nèi)存垃圾了。
理論上應(yīng)該都被內(nèi)存管理器刪除,但是由于引用計(jì)數(shù)算法每次只考察一個結(jié)點(diǎn),因此對于循環(huán)的數(shù)據(jù)結(jié)構(gòu)無法回收。所以在編程時應(yīng)盡量避免循環(huán)引用的情況出現(xiàn)。 Python語言的執(zhí)行效率跟C/C++/Java比起來要稍遜一籌,但是代碼長度大大縮短,并且Python跨平臺、類庫豐富、語法簡單、開發(fā)速度快。
因此常用Python代替C/Java構(gòu)建大程序,涉及到系統(tǒng)效率的地方可以考慮用C/C++實(shí)現(xiàn)。而且Python也可以做glue language(膠水語言),因?yàn)镻ython跟C和Java的溝通能力非常的好。
.NET平臺上實(shí)現(xiàn)的Python;確切的說Python for .NET是一種編譯器和運(yùn)行時;它將 Python 腳本編譯成外部虛擬機(jī)的格式,并使得.NET類庫在Python語言中可用。IronPython .NET 平臺上的Python;相對于傳統(tǒng)的Python,IronPython支持可選的靜態(tài)編譯功能,靜態(tài)編譯過的IronPython程序就形成了常規(guī)的。
. NET可執(zhí)行文件(.EXE文件)。甚至還可以將IronPython程序靜態(tài)編譯為.NET動態(tài)鏈接庫(.dll文件)并且供C#和VB.NET等. NET語言調(diào)用。Python自身的優(yōu)秀特性決定了其在實(shí)際應(yīng)用中的廣泛性。快速原型開發(fā);網(wǎng)絡(luò)服務(wù)器腳本;科學(xué)計(jì)算;文檔處理;數(shù)據(jù)庫編程;
嵌入開發(fā);GUI開發(fā);游戲開發(fā);移動開發(fā)......Python 腳本擁有強(qiáng)大Python社區(qū)的支持,豐富的類庫,以及C/C++/Java等語言提供可擴(kuò)展模塊。 摩爾定律斷言了處理器、內(nèi)存或者I/O設(shè)備等將不再大幅度影響程序的執(zhí)行效率,對于相當(dāng)一部分的應(yīng)用程序而言,實(shí)現(xiàn)同樣的功能。
用系統(tǒng)語言和腳本語言相比,生成代碼的運(yùn)行效率可能都會在可容忍的范圍內(nèi),但是腳本語言代碼量可能會低很多(Python和Java大約是1:6)。開發(fā)周期更短,而且現(xiàn)在很多常用的功能都已經(jīng)用系統(tǒng)語言實(shí)現(xiàn)了,可以作為功能模塊,配合腳本語言的glue功能,即可完成系統(tǒng)實(shí)現(xiàn)。
文章名稱:對于Python腳本優(yōu)點(diǎn)介紹
文章起源:http://www.dlmjj.cn/article/cojigip.html


咨詢
建站咨詢
