按
语义化版本号
,版本号第一位的变化是不向前兼容的(比如很多 Python 3 的代码不能在 Python 2 上运行,反之亦然),版本号第二位表示有新特性,但是不破坏向前兼容性(比如 Python 3.2 的代码(理论上)在 Python 3.3 上是可以完好地运行的,反过来不一定,因为可能用到了新引入的特性)。第三位表明有 bug 被修正,不引入新的特性而只修 bug,所以只要不遇到 bug,代码是可以在第三位不同的情况下正确运行的。
不过,Python 可能并没严格按这个要求来。但基本上还是不会差太远的。