Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
其他python实现版本号是否意味着它们提供相同的语法?_Python - Fatal编程技术网

其他python实现版本号是否意味着它们提供相同的语法?

其他python实现版本号是否意味着它们提供相同的语法?,python,Python,例如,Jython的版本是2.5.1,这是否意味着它在版本2.5.1时与cpython语法具有并行保真度?这是正确的,还是非常接近。Jython和IronPython已经更改了编号方案,以匹配他们最接近实现其功能的CPython版本。通常是的,但从技术上讲,没有什么可以阻止替代实现选择他们想要的任何版本号 同样重要的是要注意,因为Jython 2.5.1旨在匹配cPython 2.5.1,并不意味着它们的行为完全相同或完全兼容——例如考虑基于C的模块和用于获取基础字节码的设备。 Python语言

例如,Jython的版本是2.5.1,这是否意味着它在版本2.5.1时与cpython语法具有并行保真度?

这是正确的,还是非常接近。Jython和IronPython已经更改了编号方案,以匹配他们最接近实现其功能的CPython版本。

通常是的,但从技术上讲,没有什么可以阻止替代实现选择他们想要的任何版本号

同样重要的是要注意,因为Jython 2.5.1旨在匹配cPython 2.5.1,并不意味着它们的行为完全相同或完全兼容——例如考虑基于C的模块和用于获取基础字节码的设备。 Python语言缺乏任何真正的标准体或正式规范,这意味着对于什么是“Python”以及什么是“实现定义的”没有明确的规则严格由前两个数字控制——每个
2.5.*
都声称实现相同的语法和功能集(在语言定义方面,而不是语言参考手册明确留给实现的方面:例如,Jython和IronPython都有
'buh'
的意思“unicode字符串文字”,而CPython的意思是“字节字符串文字”)。在任何实现行中,较高的
*
意味着错误修复和/或优化,这些修复和/或优化不会影响语法和功能(除了修复在较低的
*
上发生的实现错误,如果有的话)

因此,Jython
2.5.1
可以用任何CPython
2.5.x
替换任何
x
——并且它声称比Jython
2.5
更好(IMHO shd应该是
2.5.0
,但在实践中没有使用后面的
.0
),虽然不如Jython
2.5.2
好(如果后者存在的话)。但它确实not声称要模拟CPython
2.5.1
中的bug,这些bug是在CPython
2.5.2
或更高版本中修复的:毫无疑问,每个实现都有自己的bug,并且没有人声称bug兼容;-)