好的,我试图在 python 上进行一些非常大的评估 - 大约 10^(10^120) - 然后我意识到这是非常巨大的。无论如何,我随后回落到 10**10**5 和 10**10**6。检查两者的时差让我发现了这个有点奇怪的发现,我认为这是一种低效率的发现。
结果是,当我尝试时cProfile.run("x=10**10**6")
,它花了0.3s和40s。cProfile.run("print 10**10**6")
然后我尝试x= 10**10**6
了几乎没有时间但此后每次我解释 x
(x
然后是enter)都需要很长时间(我想是40秒)。所以,我假设每次我解释x
它都会重新计算整个值。
所以我的问题是:这不是非常低效吗?假设我在模块中声明了一些变量,x= 10**10
每次我引用python 解释器都会一遍又一遍地x
计算值?10**10
血淋淋的细节将不胜感激。