小编Tie*_*ung的帖子

从Python2到Python3的解包行为的这种变化是什么?

昨天我在Python 2和Python 3之间遇到了这个奇怪的解包差异,并且在快速谷歌搜索之后似乎没有找到任何解释.

Python 2.7.8

a = 257
b = 257
a is b # False

a, b = 257, 257
a is b # False
Run Code Online (Sandbox Code Playgroud)

Python 3.4.2

a = 257
b = 257
a is b # False

a, b = 257, 257
a is b # True
Run Code Online (Sandbox Code Playgroud)

我知道它可能不会影响程序的正确性,但它确实让我有点烦恼.任何人都可以在拆包时给出一些关于这种差异的见解吗?

python python-2.7 python-3.x difference iterable-unpacking

18
推荐指数
2
解决办法
720
查看次数