python的起源及語(yǔ)言特點(diǎn)是什么-創(chuàng)新互聯(lián)

python的起源及語(yǔ)言特點(diǎn)是什么,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

灌云網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,灌云網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為灌云上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的灌云做網(wǎng)站的公司定做!

一、 1.1  什么是 Python
Python 是一門優(yōu)雅而健壯的編程語(yǔ)言,它繼承了傳統(tǒng)編譯語(yǔ)言的強(qiáng)大性和通用性,同時(shí)也借鑒了簡(jiǎn)單腳本和解釋語(yǔ)言的易用性。它可以幫你完成工作,而且一段時(shí)間以后,你還能看明白自己寫的這段代碼。你會(huì)對(duì)自己如此快地學(xué)會(huì)它和它強(qiáng)大的功能感到十分的驚訝,更不用提你已經(jīng)完成的工作了!只有你想不到,沒有 Python 做不到

二、  2 1.2  起源
貴鐸·范·羅薩姆(Guido van Rossum)于 1989 年底始創(chuàng)了 Python,那時(shí),他還在荷蘭的 CWI(Centrum voor Wiskunde en Informatica,國(guó)家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究院)。1991 年初,Python 發(fā)布了第一個(gè)公開發(fā)行版。這一切究竟是如何開始的呢?像 C、C++、Lisp、Java和 Perl 一樣,Python 來(lái)自于某個(gè)研究項(xiàng)目,項(xiàng)目中的那些程序員利用手邊現(xiàn)有的工具辛苦的工作著,他們?cè)O(shè)想并開發(fā)出了更好的解決辦法。
                              
那時(shí)范·羅薩姆是一位研究人員,對(duì)解釋型語(yǔ)言 ABC 有著豐富的設(shè)計(jì)經(jīng)驗(yàn),這個(gè)語(yǔ)言同樣也是在 CWI 開發(fā)的。但是他不滿足其有限的開發(fā)能力。已經(jīng)使用并參與開發(fā)了像 ABC 這樣的高級(jí)語(yǔ)言后,再退回到 C 語(yǔ)言顯然是不可能的。他所期望的工具有一些是用于完成日常系統(tǒng)管理任務(wù)的,而且它還希望能夠訪問 Amoeba 分布式操作系統(tǒng)的系統(tǒng)調(diào)用。盡管范·羅薩姆也曾想過為 Amoeba 開發(fā)專用語(yǔ)言,但是創(chuàng)造一種通用的程序設(shè)計(jì)語(yǔ)言顯然更加明智,于是在 1989 年末,Python 的種子被播下了。

三、  3 1.3  特點(diǎn)
盡管Python已經(jīng)流行了超過15年,但是一些人仍舊認(rèn)為相對(duì)于通用軟件開發(fā)產(chǎn)業(yè)而言,它還是個(gè)新丁。我們應(yīng)當(dāng)謹(jǐn)慎地使用“相對(duì)”這個(gè)詞,因?yàn)椤熬W(wǎng)絡(luò)時(shí)代”的程序開發(fā),幾年看
上去就像幾十年。當(dāng)人們?cè)儐枺骸笆裁词?Python?”的時(shí)候,很難用任何一個(gè)具象來(lái)描述它。人們更傾向于一口氣不加思索地說(shuō)出他們對(duì) Python 的所有感覺,Python 是___(請(qǐng)?zhí)顚懀_,這些特點(diǎn)究竟又是什么呢?為了讓你能知其所以然,我們下面會(huì)對(duì)這些特點(diǎn)進(jìn)行逐一地闡釋。
1.3.1  高級(jí)
伴隨著每一代編程語(yǔ)言的產(chǎn)生,我們會(huì)達(dá)到一個(gè)新的高度。匯編語(yǔ)言是上帝獻(xiàn)給那些掙扎在機(jī)器代碼中的人的禮物,后來(lái)有了 FORTRAN、 C 和 Pascal 語(yǔ)言,它們將計(jì)算提升到了嶄新的高度,并且開創(chuàng)了軟件開發(fā)行業(yè)。伴隨著 C 語(yǔ)言誕生了更多的像 C++、Java 這樣的現(xiàn)代編譯語(yǔ)言。我們沒有止步于此,于是有了強(qiáng)大的、可以進(jìn)行系統(tǒng)調(diào)用的解釋型腳本語(yǔ)言,例如 Tcl、Perl 和 Python。
這些語(yǔ)言都有高級(jí)的數(shù)據(jù)結(jié)構(gòu),這樣就減少了以前“框架”開發(fā)需要的時(shí)間。像 Python 中的列表(大小可變的數(shù)組)和字典(哈希表)就是內(nèi)建于語(yǔ)言本身的。在核心語(yǔ)言中提供這些重要的構(gòu)建單元,可以鼓勵(lì)人們使用它們,縮短開發(fā)時(shí)間與代碼量,產(chǎn)生出可讀性更好的代碼。在 C 語(yǔ)言中,對(duì)于混雜數(shù)組(Python 中的列表)和哈希表(Python 中的字典)還沒有相應(yīng)的標(biāo)準(zhǔn)庫(kù),所以它們經(jīng)常被重復(fù)實(shí)現(xiàn),并被復(fù)制到每個(gè)新項(xiàng)目中去。這個(gè)過程混亂而且容易產(chǎn)生錯(cuò)誤。C++使用標(biāo)準(zhǔn)模版庫(kù)改進(jìn)了這種情況,但是標(biāo)準(zhǔn)模版庫(kù)是很難與 Python 內(nèi)建的列表和字典的簡(jiǎn)潔和易讀相提并論的。                              
1.3.2  面向?qū)ο?br/>建議:面向?qū)ο缶幊虨閿?shù)據(jù)和邏輯相分離的結(jié)構(gòu)化和過程化編程添加了新的活力。面向?qū)ο?編程支持將特定的行為、特性以及和/或功能與它們要處理或所代表的數(shù)據(jù)結(jié)合在一起。
Python 的面向?qū)ο蟮奶匦允桥c生俱來(lái)的。然而,Python 絕不想 Java 或 Ruby 僅僅是一門面向?qū)ο笳Z(yǔ)言,事實(shí)上它融匯了多種編程風(fēng)格。例如,它甚至借鑒了一些像 Lisp 和 Haskell 這樣的函數(shù)語(yǔ)言的特性。
1.3.3  可升級(jí)
大家常常將 Python 與批處理或 Unix 系統(tǒng)下的 shell 相提并論。簡(jiǎn)單的 shell 腳本可以用來(lái)處理簡(jiǎn)單的任務(wù),就算它們可以在長(zhǎng)度上(無(wú)限度的)增長(zhǎng),但是功能總會(huì)有所窮盡。Shell腳本的代碼重用度很低,因此,你只能止步于小項(xiàng)目。實(shí)際上,即使一些小項(xiàng)目也可能導(dǎo)致腳本又臭又長(zhǎng)。Python 卻不是這樣,你可以不斷地在各個(gè)項(xiàng)目中完善你的代碼,添加額外的新的或者現(xiàn)存的 Python 元素,也可以重用您腦海中的代碼。Python 提倡簡(jiǎn)潔的代碼設(shè)計(jì)、高級(jí)的數(shù)據(jù)結(jié)構(gòu)和模塊化的組件,這些特點(diǎn)可以讓你在提升項(xiàng)目的范圍和規(guī)模的同時(shí),確保靈活性、一致性并縮短必要的調(diào)試時(shí)間?!翱缮?jí)”這個(gè)術(shù)語(yǔ)最經(jīng)常用于衡量硬件的負(fù)載,通常指為系統(tǒng)添加了新的硬件后帶來(lái)的性能提升。我們樂于在這里對(duì)這個(gè)引述概念加以區(qū)分,我們?cè)噲D用“可升級(jí)”來(lái)傳達(dá)一種觀念,這就是:Python 提供了基本的開發(fā)模塊,你可以在它上面開發(fā)你的軟件,而且當(dāng)這些需要擴(kuò)展和增長(zhǎng)時(shí),Python 的可插入性和模塊化架構(gòu)則能使你的項(xiàng)目生機(jī)盎然和易于管理。
1.3.4  可擴(kuò)展
就算你的項(xiàng)目中有大量的 Python 代碼,你也依舊可以有條不紊地通過將其分離為多個(gè)文件或模塊加以組織管理。而且你可以從一個(gè)模塊中選取代碼,而從另一個(gè)模塊中讀取屬性。更棒的是,對(duì)于所有模塊,Python 的訪問語(yǔ)法都是相同的。不管這個(gè)模塊是 Python 標(biāo)準(zhǔn)庫(kù)中的還是你一分鐘之前創(chuàng)造的,哪怕是你用其他語(yǔ)言寫的擴(kuò)展都沒問題!借助這些特點(diǎn),你會(huì)感覺自己根據(jù)需要“擴(kuò)展”了這門語(yǔ)言,而且你已經(jīng)這么做了。代碼中的瓶頸,可能是在性能分析中總排在前面的那些熱門或者一些特別強(qiáng)調(diào)性能的地方,可以作為 Python 擴(kuò)展用 C 重寫。 。需要重申的是,這些接口和純 Python 模塊的接口是一模一樣的,乃至代碼和對(duì)象的訪問方法也是如出一轍的。唯一不同的是,這些代碼為性能帶來(lái)了顯著的提升。自然,這全部取決你的應(yīng)用程序以及它對(duì)資源的需求情況。很多時(shí)候,使用編譯型代碼重寫程序的瓶頸部分絕對(duì)是益處多多的,因?yàn)樗苊黠@提升整體性能。
程序設(shè)計(jì)語(yǔ)言中的這種可擴(kuò)展性使得工程師能夠靈活附加或定制工具,縮短開發(fā)周期。雖然像 C、C++乃至 Java 等主流第三代語(yǔ)言(3GL)都擁有該特性,但是這么容易地使用 C 編寫擴(kuò)展確實(shí)是 Python 的優(yōu)勢(shì)。此外,還有像 PyRex 這樣的工具,允許 C 和 Python 混合編程,使編寫擴(kuò)展更加輕而易舉,因?yàn)樗鼤?huì)把所有的代碼都轉(zhuǎn)換成 C 語(yǔ)言代碼。因?yàn)?Python 的標(biāo)準(zhǔn)實(shí)現(xiàn)是使用 C 語(yǔ)言完成的(也就是 CPython),所以要使用 C 和 C++編寫 Python 擴(kuò)展。Python 的 Java 實(shí)現(xiàn)被稱作 Jython,要使用 Java 編寫其擴(kuò)展。最后,還有 IronPython,這是針對(duì) .NET 或 Mono 平臺(tái)的 C# 實(shí)現(xiàn)。你可以使用 C# 或者 VB.Net 擴(kuò)展 IronPython。
1.3.5  可移植性
在各種不同的系統(tǒng)上可以看到 Python 的身影,這是由于在今天的計(jì)算機(jī)領(lǐng)域,Python 取得了持續(xù)快速的成長(zhǎng)。因?yàn)?Python 是用 C 寫的,又由于 C 的可移植性,使得 Python 可以運(yùn)行在任何帶有 ANSI C 編譯器的平臺(tái)上。盡管有一些針對(duì)不同平臺(tái)開發(fā)的特有模塊,但是在任何一個(gè)平臺(tái)上用 Python 開發(fā)的通用軟件都可以稍事修改或者原封不動(dòng)的在其他平臺(tái)上運(yùn)行。這種可移植性既適用于不同的架構(gòu),也適用于不同的操作系統(tǒng)。
1.3.6  易學(xué)
Python 關(guān)鍵字少、結(jié)構(gòu)簡(jiǎn)單、語(yǔ)法清晰。這樣就使得學(xué)習(xí)者可以在相對(duì)更短的時(shí)間內(nèi)輕松上手。對(duì)初學(xué)者而言,可能感覺比較新鮮的東西可能就是 Python 的面向?qū)ο筇攸c(diǎn)了。那些還未能全部精通 OOP(Object Oriented Programming, 面向?qū)ο蟮某绦蛟O(shè)計(jì))的人對(duì)徑直使用 Python還是有所顧忌的,但是 OOP 并非必須或者強(qiáng)制的。入門也是很簡(jiǎn)單的,你可以先稍加涉獵,等到有所準(zhǔn)備之后才開始使用。
1.3.7  易讀
Python 與其他語(yǔ)言顯著的差異是,它沒有其他語(yǔ)言通常用來(lái)訪問變量、定義代碼塊和進(jìn)行模式匹配的命令式符號(hào)。通常這些符號(hào)包括:美元符號(hào)($)、分號(hào)(;)、波浪號(hào)(~)等等。沒有這些分神的家伙,Python 代碼變得更加定義清晰和易于閱讀。讓很多程序員沮喪(或者欣慰)的是,不像其他語(yǔ)言,Python 沒有給你多少機(jī)會(huì)使你能夠?qū)懗龌逎y懂的代碼,而是讓其他人很快就能理解你寫的代碼,反之亦然。如前所述,一門語(yǔ)言的可讀性讓它更易于學(xué)習(xí)。我們甚至敢冒昧的聲稱,即使對(duì)那些之前連一行 Python 代碼都沒看過的人來(lái)說(shuō),那些代碼也是相當(dāng)容易理解的。                    
1.3.8  易維護(hù)
源代碼維護(hù)是軟件開發(fā)生命周期的組成部分。只要不被其他軟件取代或者被放棄使用,你的軟件通常會(huì)保持繼續(xù)的再開發(fā)。這通??杀纫粋€(gè)程序員在一家公司的在職時(shí)間要長(zhǎng)得多了。Python 項(xiàng)目的成功很大程度上要?dú)w功于其源代碼的易于維護(hù),當(dāng)然這也要視代碼長(zhǎng)度和復(fù)雜度而定。然而,得出這個(gè)結(jié)論并不難,因?yàn)?Python 本身就是易于學(xué)習(xí)和閱讀的。Python 另外一個(gè)激動(dòng)人心的優(yōu)勢(shì)就是,當(dāng)你在閱讀自己六個(gè)月之前寫的腳本程序的時(shí)候,不會(huì)把自己搞得一頭霧水,也不需要借助參考手冊(cè)才能讀懂自己的軟件。
1.3.9  健壯性
沒有什么能夠比允許程序員在錯(cuò)誤發(fā)生的時(shí)候根據(jù)出錯(cuò)條件提供處理機(jī)制更有效的了。針對(duì)錯(cuò)誤,Python 提供了“安全合理”的退出機(jī)制,讓程序員能掌控局面。一旦你的 Python 由于錯(cuò)誤崩潰,解釋程序就會(huì)轉(zhuǎn)出一個(gè)“堆棧跟蹤”,那里面有可用到的全部信息,包括你程序崩潰的原因以及是那段代碼(文件名、行數(shù)、行數(shù)調(diào)用等等)出錯(cuò)了。這些錯(cuò)誤被稱為異常。如果在運(yùn)行時(shí)發(fā)生這樣的錯(cuò)誤,Python 使你能夠監(jiān)控這些錯(cuò)誤并進(jìn)行處理。這些異常處理可以采取相應(yīng)的措施,例如解決問題、重定向程序流、執(zhí)行清除或維護(hù)步驟、正常關(guān)閉應(yīng)用程序、亦或干脆忽略掉。無(wú)論如何,這都可以有效的縮減開發(fā)周期中的調(diào)試環(huán)節(jié)。Python 的健壯性對(duì)軟件設(shè)計(jì)師和用戶而言都是大有助益的。一旦某些錯(cuò)誤處理不當(dāng),Python 也還能提供一些信息,作為某個(gè)錯(cuò)誤結(jié)果而產(chǎn)生的堆棧追蹤不僅可以描述錯(cuò)誤的類型和位置,還
能指出代碼所在模塊。
1.3.10  高效的快速原型開發(fā)工具
我們之前已經(jīng)提到了 Python 是多么的易學(xué)易讀。但是,你或許要問了,BASIC 也是如此啊,Python 有什么出類拔萃的呢?與那些封閉僵化的語(yǔ)言不同,Python 有許多面向其他系統(tǒng)的接口,它的功能足夠強(qiáng)大,本身也足夠強(qiáng)壯,所以完全可以使用 Python 開發(fā)整個(gè)系統(tǒng)的原型。顯然,傳統(tǒng)的編譯型語(yǔ)言也能實(shí)現(xiàn)同樣的系統(tǒng)建模,但是 Python 工方面的簡(jiǎn)潔性讓我們可以在同樣的時(shí)間內(nèi)游刃有余的完成相同的工作。此外,大家已經(jīng)為 Python 開發(fā)了為數(shù)眾多的擴(kuò)展庫(kù),所以無(wú)論你打算開發(fā)什么樣的應(yīng)用程序,都可能找到先行的前輩。你所要做的全部事情,就是來(lái)個(gè)“即插即用”(當(dāng)然,也要自行配置一番)!只要你能想得出來(lái),Python 模塊和包就能幫你實(shí)現(xiàn)。Python 標(biāo)準(zhǔn)庫(kù)是很完備的,如果你在其中找不到所需,那么第三方模塊或包就會(huì)為你完成工作提供可能。                              
1.3.11  內(nèi)存管理器
C 或者 C++大的弊病在于內(nèi)存管理是由開發(fā)者負(fù)責(zé)的。所以哪怕是對(duì)于一個(gè)很少訪問、修改和管理內(nèi)存的應(yīng)用程序,程序員也必須在執(zhí)行了基本任務(wù)之外履行這些職責(zé)。這些加諸在開發(fā)者身上的沒有必要的負(fù)擔(dān)和責(zé)任常常會(huì)分散精力。在 Python 中,由于內(nèi)存管理是由 Python 解釋器負(fù)責(zé)的,所以開發(fā)人員就可以從內(nèi)存事務(wù)中解放出來(lái),全神貫注于最直接的目標(biāo),僅僅致力于開發(fā)計(jì)劃中首要的應(yīng)用程序。這會(huì)使錯(cuò)誤更少、程序更健壯、開發(fā)周期更短。
1.3.12  解釋性和(字節(jié))編譯性
Python 是一種解釋型語(yǔ)言,這意味著開發(fā)過程中沒有了編譯這個(gè)環(huán)節(jié)。一般來(lái)說(shuō),由于不是以本地機(jī)器碼運(yùn)行,純粹的解釋型語(yǔ)言通常比編譯型語(yǔ)言運(yùn)行的慢。然而,類似于 Java,Python實(shí)際上是字節(jié)編譯的,其結(jié)果就是可以生成一種近似機(jī)器語(yǔ)言的中間形式。這不僅改善了 Python的性能,還同時(shí)使它保持了解釋型語(yǔ)言的優(yōu)點(diǎn)。

看完上述內(nèi)容,你們掌握python的起源及語(yǔ)言特點(diǎn)是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

標(biāo)題名稱:python的起源及語(yǔ)言特點(diǎn)是什么-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://bm7419.com/article46/dseceg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、建站公司、網(wǎng)站維護(hù)定制開發(fā)、網(wǎng)站改版、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)