这个是 CPython(我们一般用的都是这个实现的 Python) 实现时做的优化,原因:在同一行(一条语句)中,CPython 会对创建 1.1 这个对象,然后第二个 1.1 会直接引用前一个对象,所以取 id 就是相同的。可以参见 wtfpython,也有对应中文版本 wtfpython-cn。这里做了解释,也列出了许多其他的怪异表现,尤其需要注意的是,这些怪异行为在不同平台的 Python 实现和版本上的表现可能是不同的。
这个是 CPython(我们一般用的都是这个实现的 Python) 实现时做的优化,原因:在同一行(一条语句)中,CPython 会对创建
1.1
这个对象,然后第二个1.1
会直接引用前一个对象,所以取id
就是相同的。可以参见 wtfpython,也有对应中文版本 wtfpython-cn。这里做了解释,也列出了许多其他的怪异表现,尤其需要注意的是,这些怪异行为在不同平台的 Python 实现和版本上的表现可能是不同的。