Python中的幂运算

Python中的幂运算,python,Python,我在玩Python。我怀疑Python中的power操作。所以,我试过这个: 0726**13 = 54609997061205831773270000000000000L 726**13 = 15565965698792536237226936270158258176L 为什么这两者之间有区别?我知道这可能很琐碎。但是,我想不出来。有人能解释一下吗?谢谢。这是因为以0开头的整数常量被视为八进制值。在这种情况下,0726被解释为470: >>> 0726 470 >&

我在玩Python。我怀疑Python中的
power
操作。所以,我试过这个:

0726**13 = 54609997061205831773270000000000000L 
726**13 = 15565965698792536237226936270158258176L

为什么这两者之间有区别?我知道这可能很琐碎。但是,我想不出来。有人能解释一下吗?谢谢。

这是因为以0开头的整数常量被视为八进制值。在这种情况下,0726被解释为470:

>>> 0726
470
>>> 470**13
54609997061205831773270000000000000L
>>> 

Python中以0开头的数字以8为基数(八进制数)表示。这就是为什么会得到不同的结果。

为了便于搜索,出现了一个问题,因为前导零在许多语言中都是表示八进制常数的速记。