当我在 Python 解释器中输入 a ** b % c 大的 a(20 个数字)b(4 个数字)c(20 个数字)我看到 Python 计算得非常快,几乎像 pow (a,b,c ).我期望 Python 首先计算 a ** b 然后获取结果的模 (%) 的另一种行为,这样的计算将花费更多的时间。
幕后的魔法在哪里?
请您参考如下方法:
如果你在 Python 解释器中输入如下内容:
20937505974095709374 ** 3438
然后看到几秒钟的等待。然后尝试:
20937505974095709374 ** 3438 % 6
并且看到没有等待,想知道为什么会有差异,那么您在第一个实例中看到的延迟实际上是您的终端缓冲和将您刚刚创建的巨大数字打印到屏幕上。
