我用Python写了一个脚本,令我惊讶的是脚本的执行速度。 基本上,它会将五个20位数相乘,然后将结果的3000次方。使用timeit模块查找计算所需的时间。当我运行这个脚本时,它告诉我计算只需要3*10^-7秒。 接着,脚本生成一个文件output.txt,但直到15秒之后脚本才结束。
import timeit
outputFile = open("output.txt", "w")
start = timeit.default_timer()
x = (87459837581209463928*23745987364728194857*27385647593847564738*10293769154925693856*12345678901234567891)**3000
stop = timeit.default_timer()
time = stop-start
print "Time taken for the calculation was {} seconds".format(time)
outputFile.writelines(str(x))
outputFile.close()
y = raw_input("Press enter to exit.")
这是否意味着打印一个280kb的文件实际上比执行计算要花费更长的时间?(我觉得这不太可能。)
如果不是这样,那么当调用变量x时,Python会执行计算吗?它会每次计算变量时都执行计算,还是会将实际值存储在变量中?
我刚刚编写了另一个脚本,证实Python需要0.03秒才能将结果写入.txt文件。那么,为什么Python要延迟执行计算呢?