python是用c寫的嗎 python是用c寫的嗎

2021-10-10 03:53:50 字數 1763 閱讀 7338

python的誕生

2023年,第乙個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與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某些方面的成功。每個語言都是混合體,都有它優秀的地方,但也有各種各樣的缺陷。同時,乙個語言「好與不好」的評判,往往受制於平台、硬體、時代等等外部原因。

python 函式用寫 嗎 python如何寫函式

python函式的定義 定義函式,也就是建立乙個函式,可以理解為建立乙個具有某些用途的工具。定義函式需要用 def 關鍵字實現,具體的語法格式如下 def 函式名 形參列表 由零條到多條可執行語句組成的 塊 return 返回值 其中,用 括起來的為可選擇部分,即可以使用,也可以省略。此格式中,各部...

用python寫爬蟲簡單嗎

所謂網路爬蟲,通俗的講,就是通過向我們需要的url發出http請求,獲取該url對應的http報文主體內容,之後提取該報文主體中我們所需要的資訊。下面是乙個簡單的爬蟲程式 http基本知識 當我們通過瀏覽器訪問指定的url時,需要遵守http協議。本節將介紹一些關於http的基礎知識。http基本流...

不安裝Python的情況下用C 呼叫Python

想在不安裝python的情況下呼叫它,網上說的方法都不太詳細,就連官方給的chm檔案也沒提及怎麼配置,摸索了下,找到了簡單呼叫的辦法。記錄下。msvs 2010 c console程式 python 2.7 include資料夾 libs資料夾 lib資料夾 python27.dll檔案 新建控制台...