В любой книге, где бы я не читал, говорится, что есть различные реализации языка. Стандартный это, как я знаю, CPython, а есть еще и другие (JPython, IronPython). Не могу понять, ведь у других реализаций интерпритаторов должен быть свой специфичный синтаксис?
Ответ Разницы в синтаксисе нет — каждый интерпретатор должен поддерживать грамматику Питона, чтобы иметь право называться таковым. Разница между интерпретаторами есть в скорости выполнения кода, доступности модулей: к примеру, не все модули стандартной библиотеки, что имплементированы в CPython, доступны в других реализациях, или имеют другую имплементацию. Модули, которые имплементируют часть функционала в С ("C extensions"), чаще всего не доступны ни с одним другим интерпретатором, кроме CPython'а (к примеру, сторонних реализаций numpycipy нигде, кроме как для PyPy, нет, да и там она добавлена практически вчера и в бете, ЕМНИП), мостиках в другие языки. К примеру, Jython умеет напрямую импортировать Java-классы - такой код кинет ImportError в других интерпретаторах: from java.util import Date from java.lang import System d = Date() System.out.println(d) Точно так же IronPython умеет работать с CLR и .NЕТ: from System import DateTime, String d = DateTime.Now print String.Format("{0}", d)