2015-09-06 112 views
0

http://www.toptal.com/python/why-are-there-so-many-pythons這種情況下(蟒蛇文章)的接口定義引自

出人意料的是,這是一個相當模糊的說法。 'Python'是什麼意思?我的意思是Python的抽象接口?我的意思是CPython,通用的Python實現(並且不要與名字相似的Cython混淆)?

[...]

的第一件事情做一個比較時意識到的是,「Python的是一個接口。有一個Python應該做什麼以及它應該如何表現的規範(與任何接口一樣)。並有多個實現(與任何接口一樣)。

要實現的第二件事是'解釋'和'編譯'是實現的屬性,而不是接口。

這裏「界面」一詞根本不清楚。他的意思是「標準」嗎?如果是這樣,他爲什麼不寫這些?

+0

看起來你的問題一開始就缺少一些文字? – regular

回答

0

他們這樣做意味着接口,同一術語的縮寫API(應用程序編程接口)在用於軟件定義接口的標準;或者換句話說,Python界面是標準化的。

Wikipedia definition

在計算中,一個接口是共享邊界跨越其的計算機系統交換信息的兩個單獨的部件。交換可以在軟件,計算機硬件,外圍設備,人和它們的組合之間進行。

的接口是一個顯影劑與Python語言和庫相互作用的表面積。理論上,任何人都可以通過描述這個接口來實現他們自己的Python語言環境,並且內置類型和函數以及標準庫。

Python還有其他標準,例如Python Enhancement Proposal processC code written for the CPython projectPython code itself的樣式指南。但是,這些不是接口。

+0

有趣的是,你的意思是說,接口是代碼自我和實現處理代碼(如果不是真的,請詳細解釋一下)如果有的話,python和cpython之間的區別如我們所知python使用BY REFERENCE cpython! – user5305518

+0

UP可以請您解釋更多 – user5305518

+0

接口是實現應該做什麼的*定義*規範可召集的簽名,語言應該如何表現的描述等。代碼本身應符合規範。 –

0

接口在這裏意味着定義的含義。 Python界面是如何使用該語言與計算機進行交互的定義。實現(可能是CPython或IronPython)根據與計算機的接口(代碼)完成工作。

0

這裏是另一種方式來想一想:

你的界面Python的實施標準庫 附帶了Python。

所有可用的Python下載都是在特定的運行時或平臺上實現的python語言。

用C語言編寫的標準參考實現簡單地稱爲「Python」。

符合Python標準實現的Python的所有實現都附帶了Python標準庫。

但是,實施者可以自由地包含其他工具作爲該特定實現的一部分。

舉個例子,在Jython中(在Java運行時的Python實現),你可以寫下面的代碼:

>>> from java.lang import System as javasystem 
>>> javasystem.out.println("Hello World") 
Hello World 

java.lang的東西是特定於Jython的Python實現。在python.org上的「標準Python」文檔中找不到任何文檔。