我很无聊,正在玩ipython控制台,遇到了以下我不太了解的行为
In [1]: 2**2
Out[1]: 4
In [2]: 2**2**2
Out[2]: 16
In [3]: 2**2**2**2
Out[3]: 65536
In [4]: 2**2**2**2**2
[4]的答案不是4294967296L,这是一个非常长的数字,但是我真的不知道为什么。
可以在这里找到编号:http://pastie.org/475714
(Ubuntu 8.10,Python 2.5.2,IPython 0.8.4)
(Mac OS X 10.5.6,Python 2.5.1)
最佳答案
Python在数学幂运算上从右到左。例如,IN [2]在做:
2 **(4)= 16
IN [3] = 2 2 2 2 = 2 2 **(4)= 2 ** 16 = 65536
如果要从左到右进行计算,则需要括号。 OUT [4]不输出您想要的答案的原因是因为数字是天文数字,Python无法将其打印出来。
2 ^ 65536 =极大
关于python - 奇怪的python行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/853407/