我一直在寻求从我的代码中挤出更多的性能;最近,在浏览这个 Python wiki 页面时,我发现了这个说法:
多重赋值比单独赋值慢。例如“x,y=a,b”比“x=a; y=b”慢。
好奇,我测试了它(在 Python 2.7 上):
$ python -m timeit "x, y = 1.2, -1.4"
10000000 loops, best of 3: 0.0365 usec per loop
$ python -m timeit "x = 1.2" "y = -1.4"
10000000 loops, best of 3: 0.0542 usec per loop
我重复了几次,以不同的顺序等,但多次分配片段的表现始终比单个分配好至少 30%。显然,我的代码中涉及变量赋值的部分不会成为任何重大瓶颈的根源,但我的好奇心还是被激起了。当文档另有说明时,为什么多次分配明显比单独分配快?
编辑:
我测试了对两个以上变量的分配并得到了以下结果:
趋势似乎或多或少是一致的;任何人都可以复制它吗?
(CPU:英特尔酷睿 i7 @ 2.20GHz)