我很无聊,正在玩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/

10-16 23:04
查看更多