為什么稱python為膠水語言
什么是膠水語言?
膠水語言(glue language)是用來連接軟件組件的程序設(shè)計(jì)語言(通常是腳本語言)。
膠水語言的例子:
Shell scripts Python Ruby Lua Tcl Perl PHP 參見: Category:腳本語言
Glue language (uses OS commands, interfaces, DLLs, shared libraries, services, objects, etc.)
膠水語言:使用輸入輸出命令,接口,動(dòng)態(tài)鏈接庫,靜態(tài)鏈接庫,服務(wù),對象等。
在Python的內(nèi)部機(jī)制中有:
標(biāo)準(zhǔn)版本的python是用C來編譯的,又稱為Cpython,除此之外,還有一些其他的python實(shí)現(xiàn)。
2.java實(shí)現(xiàn)版本。這個(gè)解釋器完全用java寫成,名為Jython。盡管和標(biāo)準(zhǔn)版的有區(qū)別,但是很小,而且啟動(dòng)環(huán)境也完全相同
Jython的優(yōu)點(diǎn):
(1)只要有虛擬機(jī),就可以運(yùn)行Jython
(2)擁有訪問java包與類庫的能力
(3)為java開發(fā)環(huán)境提供了腳本引擎
(4)鼓勵(lì)Python到j(luò)ava的開發(fā)
3..net實(shí)現(xiàn)。用C#語言完成,名為IronPython。和jython差不多。
意義:
在終端上我可以隨意地組合他和其它程序,作為一個(gè)中間處理模塊。
而且,他可以如此地簡單便捷,一些簡單的腳本只需要cat一下馬上就能明白是什么意思。
一個(gè)表達(dá)式一行代碼,代碼塊有一致的標(biāo)準(zhǔn)的縮進(jìn),標(biāo)準(zhǔn)的命名方式,簡練的語言,支持注釋……
別的程序要訪問或調(diào)用,很簡單,一個(gè)命令把指定數(shù)據(jù)輸入到這里就好,然后要怎么拼接怎么拼接;
周期性地處理也沒問題,輸出到文件,等待別的程序調(diào)用。
系統(tǒng)腳本上:
比SHELL多了很多數(shù)學(xué)及字符串處理能力,還多了很多很好用的迭代方法,還多了很多的原生的數(shù)據(jù)結(jié)構(gòu);
比PERL多了很要命的代碼可讀性。
比起ruby和nodejs,他基本所有機(jī)器都預(yù)裝,而且已經(jīng)經(jīng)歷了時(shí)間的考驗(yàn)。雖然,將來的確會(huì)有被這倆貨代替的可能性。
比起C/C++,他多了一個(gè)終端、甚至像ipython這樣的加強(qiáng)版神器終端,可以邊調(diào)試代碼邊把沒問題的代碼寫進(jìn)文件。而且,源碼即可執(zhí)行。
知識(shí)點(diǎn)補(bǔ)充:
膠水語言
先從Hello world開始。所有學(xué)python的童鞋都會(huì)從這句話開始:
print "Hello World!"。
問題來了:為什么所有語言第一件做的事情,就是Hello World?
其實(shí),他代表了UNIX統(tǒng)一的文本處理模型及接口。這些個(gè)玩意,Windows的編程領(lǐng)域是很難接觸到的也很難理解的。
下面寫個(gè)范例。比如我這么干了:
# file: say.py import sys txt = sys.argv[1] print "Hello %s!"%(txt)
那么我就可以在Linux或Mac的終端上直接輸入:
python say.py World
輸出結(jié)果就會(huì)是:
Hello World!
這樣就確保了,在終端調(diào)用上的直觀與可編程性。
這樣,我就不用必須在別的python語言里面調(diào)用python了,而能夠直接在shell上跟其它處理程序直接連接。
BTW,這其實(shí)也是Hello world,呵呵。
到此這篇關(guān)于為什么稱python為膠水語言的文章就介紹到這了,更多相關(guān)python為何稱為膠水語言內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Pingouin數(shù)據(jù)統(tǒng)計(jì)分析技術(shù)探索
Pingouin庫基于pandas、scipy和statsmodels,為用戶提供了執(zhí)行常見統(tǒng)計(jì)分析的功能,它支持各種統(tǒng)計(jì)方法和假設(shè)檢驗(yàn),例如 t-tests、ANOVA、correlation analysis 等,本文通過一些示例代碼,以更全面地了解如何使用Pingouin庫進(jìn)行統(tǒng)計(jì)分析,2024-01-01
Python3中_(下劃線)和__(雙下劃線)的用途和區(qū)別
經(jīng)常會(huì)看到以下劃線或者雙下劃線開頭的方法或者屬性,到底它們有什么作用,又有什么樣的區(qū)別呢?今天我們來總結(jié)一下,感興趣的小伙伴們可以參考一下2019-04-04
在Python中字典根據(jù)多項(xiàng)規(guī)則排序的方法
今天小編就為大家分享一篇在Python中字典根據(jù)多項(xiàng)規(guī)則排序的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python3編寫ThinkPHP命令執(zhí)行Getshell的方法
這篇文章主要介紹了python3編寫ThinkPHP命令執(zhí)行Getshell的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02
Python調(diào)整matplotlib圖片大小的3種方法匯總
我們在使用matplotlib作圖時(shí),會(huì)遇到圖片不清晰或者圖片大小不是我們想要的,這個(gè)時(shí)候就需要調(diào)整下,這篇文章主要給大家介紹了關(guān)于Python調(diào)整matplotlib圖片大小的3種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
Python通過Socket手動(dòng)實(shí)現(xiàn)HTTP協(xié)議
這篇文章主要為大家詳細(xì)介紹了Python如何通過Socket手動(dòng)實(shí)現(xiàn)HTTP協(xié)議,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一2024-03-03

