Using print
in a loop slows down the loop. Printing something (I tried with Hello!
) 100 times take ~2 sec, without it, it takes 0.0 second. I accurately captured the time using module time
. Here is a loop that prints in it and shows the time taken at the end:
import time
t = time.time()
for _ in range(100):
print("Hello! ",end = "")
print("\n",time.time()-t)
输出:
Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello! Hello!
1.9912450313568115
这是另一个循环,仅将字符串添加到变量中需要 0.0 秒.
import time
t = time.time()
output = ""
for _ in range(100):
output += "Hello! "
print(time.time()-t)
输出:
0.0
我尝试添加更多操作,但仍然需要0.0
秒。例子:
import time
t = time.time()
output,num,count,abc = "",0,30,"H"
for _ in range(100):
output += "Hello! "
num += 10000
count += 10000000
abc += "Hello Guys!"
print(time.time()-t)
为什么print
减慢循环速度,如何克服这个问题?