Синтаксис (и набор функций) строго контролируются первыми двумя числами - каждый 2.5.*
претендует на реализацию одного и того же синтаксиса и набора функций (с точки зрения определения языка, не аспектовсправочное руководство по языку явно не зависит от реализации: например, Jython и IronPython имеют 'buh'
, что означает «строковый литерал Юникода», в то время как в CPython это означает «байтовый литерал строки»).Более высокое значение *
в любой строке реализации подразумевает исправление ошибок и / или оптимизацию, которые не влияют на синтаксис и функции (за исключением исправления ошибок реализации, которые имели место при более низком *
, если таковой имеется).
Таким образом, Jython 2.5.1
может быть заменен на любой CPython 2.5.x
для любого значения x
- и он утверждает, что он лучше, чем Jython 2.5
(IMHO должен быть 2.5.0
, но завершающий .0
не используется на практике), хотя и не так хорош, как Jython 2.5.2
, если последние существуют.Но он не имеет целью эмулировать ошибки в CPython 2.5.1
, которые были исправлены в CPython 2.5.2
или более поздних версиях: без сомнения, каждая реализация имеет свои собственные ошибки, и никто не претендует на совместимость с ошибками;-.)