2024-05-16 19:45:47 发布
网友
例如,Jython的版本是2.5.1,这是否意味着它在版本2.5.1时对cpython语法有一个并行的保真度?你知道吗
语法(和特性集)严格由前两个数字控制,每个2.5.*都声称实现相同的语法和特性集(就语言定义而言,而不是语言参考手册明确留给实现的方面而言:例如,Jython和IronPython的'buh'意思是“unicode字符串文字”,而CPython的意思是“字节字符串文字”)。在任何实现行中,较高的*意味着错误修复和/或优化不会影响语法和特性(除了修复在较低的*发生的实现错误(如果有的话))。你知道吗
2.5.*
'buh'
*
因此,Jython2.5.1可以用任何CPython2.5.x代替任何值的x,并且它声称比Jython2.5更好(IMHO shd be2.5.0,但是在实践中没有使用尾随的.0),尽管不如Jython2.5.2,如果后者存在的话。但它并不是要模仿CPython2.5.1中的bug,这些bug是在CPython2.5.2或更高版本中修复的:毫无疑问,每个实现都有自己的bug,没有人声称bug是兼容的。你知道吗
2.5.1
2.5.x
x
2.5
2.5.0
.0
2.5.2
一般来说是的,但从技术上讲,没有什么能阻止替代实现选择他们想要的任何版本号。你知道吗
同样需要注意的是,仅仅因为Jython2.5.1打算与CPython2.5.1匹配,并不意味着它们的行为完全相同或完全兼容——例如,考虑基于C的模块和获取底层字节码的工具。你知道吗
Python语言缺乏任何真正的标准体或正式规范,这意味着对于什么是“Python”以及什么是“实现定义的”没有明确的规则。你知道吗
这是正确的,或非常接近。Jython和IronPython已经更改了它们的编号方案,以匹配它们最接近实现其特性的CPython版本。你知道吗
语法(和特性集)严格由前两个数字控制,每个
2.5.*
都声称实现相同的语法和特性集(就语言定义而言,而不是语言参考手册明确留给实现的方面而言:例如,Jython和IronPython的'buh'
意思是“unicode字符串文字”,而CPython的意思是“字节字符串文字”)。在任何实现行中,较高的*
意味着错误修复和/或优化不会影响语法和特性(除了修复在较低的*
发生的实现错误(如果有的话))。你知道吗因此,Jython
2.5.1
可以用任何CPython2.5.x
代替任何值的x
,并且它声称比Jython2.5
更好(IMHO shd be2.5.0
,但是在实践中没有使用尾随的.0
),尽管不如Jython2.5.2
,如果后者存在的话。但它并不是要模仿CPython2.5.1
中的bug,这些bug是在CPython2.5.2
或更高版本中修复的:毫无疑问,每个实现都有自己的bug,没有人声称bug是兼容的。你知道吗一般来说是的,但从技术上讲,没有什么能阻止替代实现选择他们想要的任何版本号。你知道吗
同样需要注意的是,仅仅因为Jython2.5.1打算与CPython2.5.1匹配,并不意味着它们的行为完全相同或完全兼容——例如,考虑基于C的模块和获取底层字节码的工具。你知道吗
Python语言缺乏任何真正的标准体或正式规范,这意味着对于什么是“Python”以及什么是“实现定义的”没有明确的规则。你知道吗
这是正确的,或非常接近。Jython和IronPython已经更改了它们的编号方案,以匹配它们最接近实现其特性的CPython版本。你知道吗
相关问题 更多 >
编程相关推荐