我做了一个小测试:
In [12]: def test1():
...: return 1,2,3
...:
In [13]: def test2():
...: return (1,2,3)
...:
In [14]: %timeit a,b,c = test1()
Run Code Online (Sandbox Code Playgroud)
最慢的运行时间比最快的运行时间长66.88倍.这可能意味着正在缓存中间结果.10000000次循环,最佳3:每循环92.7 ns
In [15]: %timeit a,b,c = test2()
Run Code Online (Sandbox Code Playgroud)
最慢的运行时间比最快的时间长74.43倍.这可能意味着正在缓存中间结果.10000000次循环,最佳3:每循环80.1 ns
返回元组比返回多个值快约15%.为什么会这样?