當前位置:成語大全網 - 英語詞典 - python是用c寫的嗎

python是用c寫的嗎

python是用c寫的,下面給大家介紹壹下Python與c的聯系:

python的誕生

1991年,第壹個Python編譯器(同時也是解釋器)誕生。它是用C語言實現的,並能夠調用C庫(.so文件)。從壹出生,Python已經具有了:類(class),函數(function),異常處理(exception),包括表(list)和詞典(dictionary)在內的核心數據類型,以及模塊(module)為基礎的拓展系統。

Guido希望有壹種語言,這種語言能夠像C語言那樣,能夠全面調用計算機的功能接口,又可以像shell那樣,可以輕松的編程。ABC語言讓Guido看到希望。ABC是由荷蘭的CWI (Centrum Wiskunde & Informatica, 數學和計算機研究所)開發的。Guido在CWI工作,並參與到ABC語言的開發。ABC語言以教學為目的。與當時的大部分語言不同,ABC語言的目標是“讓用戶感覺更好”。ABC語言希望讓語言變得容易閱讀,容易使用,容易記憶,容易學習,並以此來激發人們學習編程的興趣。

相關推薦:《Python基礎教程》

python與c

Python語法很多來自C,但又受到ABC語言的強烈影響。來自ABC語言的壹些規定直到今天還富有爭議,比如強制縮進。但這些語法規定讓Python容易讀。另壹方面,Python聰明的選擇服從壹些慣例(特別是C語言的慣例)。比如使用等號賦值,使用def來定義函數。Guido認為,如果“常識”上確立的東西,沒有必要過度糾結。

Python從壹開始就特別在意可拓展性(extensibility)。Python可以在多個層次上拓展。從高層上,妳可以引入.py文件。在底層,妳可以引用C語言的庫。Python程序員可以快速的使用Python寫.py文件作為拓展模塊。但當性能是考慮的重要因素時,Python程序員可以深入底層,寫C程序,編譯為.so文件引入到Python中使用。Python就好像是使用鋼構建房壹樣,先規定好大的框架。而程序員可以在此框架下相當自由的拓展或更改。

最初的Python完全由Guido本人開發。Python得到Guido同事的歡迎。他們迅速的反饋使用意見,並參與到Python的改進。Guido和壹些同事構成Python的核心團隊。他們將自己大部分的業余時間用於hack Python (也包括工作時間,因為他們將Python用於工作)。隨後,Python拓展到CWI之外。Python將許多機器層面上的細節隱藏,交給編譯器處理,並凸顯出邏輯層面的編程思考。Python程序員可以花更多的時間用於思考程序的邏輯,而不是具體的實現細節 (Guido有壹件T恤,寫著:人生苦短,我用Python)。這壹特征吸引了廣大的程序員。Python開始流行。

python的發展

到今天,Python的框架已經確立。Python語言以對象為核心組織代碼(Everything is object),支持多種編程範式(multi-paradigm),采用動態類型(dynamic typing),自動進行內存回收(garbage collection)。Python支持解釋運行(interpret),並能調用C庫進行拓展。Python有強大的標準庫 (battery included)。由於標準庫的體系已經穩定,所以Python的生態系統開始拓展到第三方包。這些包,如Django, web.py, wxpython, numpy, matplotlib,PIL.

Python從其他語言中學到了很多,無論是已經進入歷史的ABC,還是依然在使用的C和Perl,以及許多沒有列出的其他語言。可以說,Python的成功代表了它所有借鑒的語言的成功。同樣,Ruby借鑒了Python,它的成功也代表了Python某些方面的成功。每個語言都是混合體,都有它優秀的地方,但也有各種各樣的缺陷。同時,壹個語言“好與不好”的評判,往往受制於平臺、硬件、時代等等外部原因。