九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
為什么俺推薦Python[1]:作為腳本語言的Python

為什么俺推薦Python[1]:作為腳本語言的Python收藏

  俺竊以為,Python的所有特征中,作為腳本語言(具體定義參見“這里”)是它的首要特征。因此,在本系列帖子中,俺首先來忽悠一下Python作為腳本語言,有些啥好處?

腳本語言好在哪?
要聊Python作為腳本語言的好處,首先得說說腳本語言自身有哪些優(yōu)點。一般來說,當(dāng)我們提及“腳本語言”,都是強(qiáng)調(diào)其解釋執(zhí)行的特性(雖然有些腳本語言也支持編譯)。所以,后面陳述的這些優(yōu)點,大都是拿編譯型語言來進(jìn)行對比。

◇更高層次的抽象和封裝
大部分腳本語言都提供了比較高層次的抽象和封裝。像很多腳本語言都內(nèi)置了字符串處理能力以及正則表達(dá)式(典型代表就是Perl)。還有很多腳本語言都內(nèi)置了高級的數(shù)據(jù)結(jié)構(gòu)。比如Python在語言層面支持了鏈表(Python的術(shù)語叫List)、映射(Python的術(shù)語叫Dict)、元組(Python的術(shù)語叫Tuple)。
有了這些高層次的封裝,你寫起代碼來,就特別滴簡單、特別滴爽。比如,在Python中要把一個List翻倍,只需這么寫:[1,2,3] * 2 就得到 [1,2,3,1,2,3]

◇更少的代碼量
得益于高層次的封裝,在完成相同功能的前提下,腳本語言的代碼量會比編譯型語言少很多。
比如說,要打印出某個文本文件的內(nèi)容,如果用Java實現(xiàn),正常的寫法大概要七、八行代碼(把所有代碼硬擠到一行的,不予討論);用Python也就三、五行。
再比如說,抓取給定URL的web網(wǎng)頁,用Python自帶的標(biāo)準(zhǔn)庫實現(xiàn),大概3-5行代碼;但如果用C++實現(xiàn),代碼量會增加許多(具體要寫多少代碼,取決于你用的http庫)。
代碼量少了之后,至少你看代碼的時候(無論是看自己的還是看別人的),能少敲很多次的翻頁鍵,大大延長了鍵盤的壽命,順便降低了手指頭的勞損。

◇更平緩的學(xué)習(xí)曲線
通常,腳本語言的語法都比較簡單、傻瓜化。因此,入門也就容易很多。稍微有一些編程基礎(chǔ)的人,就能夠在短時間內(nèi)上手。
比如俺手下的C++、Java程序員,以及某些測試人員,都可以在一周內(nèi)(程序員用不著一周,一般就1、2天)掌握Python的語法并用來寫一些輔助的小工具。大大減少了俺培訓(xùn)的口水。

◇支持交互式
很多腳本語言的IDE支持交互式寫代碼。也就是說,你每寫完一行代碼,解釋器就執(zhí)行一把。這樣能很快發(fā)現(xiàn)輸入錯誤,而且還可以立即看到執(zhí)行結(jié)果。

腳本語言有啥缺點?
前面說了那么多優(yōu)點,那腳本語言有啥缺點捏?主要的缺點就是性能差。這是他們?yōu)樯鲜鰞?yōu)點所付出的沉重代價。所幸當(dāng)今的計算機(jī)硬件突飛猛進(jìn),性能差的缺點已經(jīng)越來越不明顯了。

Python和其它腳本語言的比較
有同學(xué)可能要問了,腳本語言有很多,為啥俺獨(dú)獨(dú)青睞Python捏?為了回答這個問題,俺拿Python和一些常見的腳本語言作一些膚淺的比較。
鑒于后面的內(nèi)容極易引發(fā)語言的口水戰(zhàn),俺特此聲明:雖然接下來會提及某些語言相對于python的缺點,但俺絕無貶低這些語言的企圖,也無意證明python比這些語言優(yōu)秀!俺只是陳述一下當(dāng)初是如何在幾種腳本語言中進(jìn)行取舍的?
除了Python之外,常見的腳本語言還有很多,比如:PHP、JavaScript(以下簡稱JS)、Perl、VBScript(以下簡稱VBS)、Ruby、Bash、Lua、Tcl(可別誤以為是某家電廠商:-)......Python是如何從這些腳本語言中脫穎而出的捏?俺挑選的時候,主要考慮了如下幾點:

◇通用性(跨領(lǐng)域)
因為俺懶得學(xué)太多編程語言。所以,俺希望熟悉一門腳本語言之后,能夠盡量多幫俺搞定不同領(lǐng)域的事兒。從這點來看,俺就不會選擇PHP(太偏重于Web服務(wù)端)、JS(太偏重于Web客戶端)、諸如Bash之類的Shell腳本(太偏重于系統(tǒng)管理)。
而Python則屬于通用的腳本語言,覆蓋范圍很廣。比如Web開發(fā)、桌面GUI應(yīng)用、系統(tǒng)管理、網(wǎng)絡(luò)應(yīng)用等許多領(lǐng)域,Python都可以輕易搞定。

◇人氣夠旺
關(guān)于“人氣”的重要性,俺在“如何選擇開源項目”中,有介紹過。人氣越高、越流行,就意味著更多的資源(包括文檔、相關(guān)軟件),當(dāng)你碰到問題需要解決,也有更多的人可以咨詢。
關(guān)于編程語言的流行程度,可以大致參考TIOBE的排名(雖然TIOBE不能全面反映流行程度,但至少可作為某種參考)。
像Tcl、PowerShell、Groovy、JavaFX等都排在30名之外(截至到09年8月),感覺用的人少,俺暫時不予考慮。而Python最近幾年的排名則一路上升(請看“這里”),截止到09年8月,已經(jīng)高踞排行榜第6位。Perl雖然也身居高位,但是最近幾年的排名一路下滑(請看“這里”)。俺個人認(rèn)為,其人氣不容樂觀。

◇功能夠強(qiáng)、庫夠豐富
另一個俺很看重的地方是功能是否夠強(qiáng)大。在這點上,Python和Perl都算是比較強(qiáng)悍的。關(guān)于Python如何強(qiáng)悍,俺會在后續(xù)的帖子“作為瑞士軍刀的Python”中加以介紹。
反觀JS、Ruby、Tcl等語言,則稍顯不足(當(dāng)然,也有可能俺孤陋寡聞)。

◇跨平臺
由于俺平時會使用不同的操作系統(tǒng),再加上俺負(fù)責(zé)的產(chǎn)品也是跨平臺的。所以,俺對腳本語言有跨平臺的要求。說到跨平臺,諸如VBS、Bash之流就不予考慮了。
其實,很多腳本語言都支持跨平臺。而Python在這方面,更為出眾。不光支持主流的操作系統(tǒng),還支持一些冷門的(比如古老的DOS),還支持手持設(shè)備(俺的智能手機(jī)就可以裝Python運(yùn)行環(huán)境)。

◇和其它語言的整合、交互
最后這一點,估計大多數(shù)同學(xué)不會太關(guān)心。俺因為要在公司的產(chǎn)品中引入腳本技術(shù),所以俺還得考慮該腳本語言和其它語言的整合能力。整合能力強(qiáng)的腳本語言,可以作為復(fù)雜系統(tǒng)中的膠水,用來把不同模塊粘合在一起(關(guān)于Glue Language,可以參見“這里”)。
在這方面,Python和Ruby的表現(xiàn)都不錯。它們和Java的整合有Jython、JRuby;和dotNet平臺的整合有IronPythonIronRuby。至于俺常用的C++,Python整合得比Ruby好。比如C++社區(qū)大名鼎鼎的Boost庫里面,就有一個Boost.Python的子庫(見“這里”)。關(guān)于Python如何用作膠水,俺會在后續(xù)的帖子“作為膠合語言的Python”中會詳細(xì)介紹。

基于上述幾個方面的考慮,俺最終選擇了Python作為俺日常的腳本工具,并把它引入到公司的產(chǎn)品中,作為模塊之間的膠合劑。
啰嗦完P(guān)ython作為腳本語言的方方面面,下一個帖子,咱來聊一下它作為動態(tài)語言的那些事兒。

http://program-think.blogspot.com/2009/08/why-choose-python-1-script.html

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
滲透測試工程師必備的編程語言知識
代碼藝術(shù):編程語言了解
人工智能時代應(yīng)當(dāng)立馬學(xué)習(xí)Python的7 個理由
Ruby是什么東東?
為什么學(xué)了那么多門語言,我還是編不好這段代碼
PHP vs Ruby vs Python:三種編程語言誰最強(qiáng)?(上)
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服