为什么';Python中的for循环不需要花费很多时间吗?

为什么';Python中的for循环不需要花费很多时间吗?,python,numpy,for-loop,ipython,Python,Numpy,For Loop,Ipython,我在Jupyter笔记本上运行这个小循环 import time def time_loop(reps): start = time.clock() count = 0 for i in range(reps): count += 1 return time.clock() - start time_loop(10000^100) 无论我输入什么作为参数,我似乎总是得到0.003左右的输出 0.0031050000000050204 发生

我在Jupyter笔记本上运行这个小循环

import time

def time_loop(reps):

    start = time.clock()
    count = 0
    for i in range(reps):
        count += 1
    return time.clock() - start

time_loop(10000^100)
无论我输入什么作为参数,我似乎总是得到0.003左右的输出

0.0031050000000050204
发生了什么事

一种猜测是python理解循环的结果将是count=reps,并退出循环

但是如果我运行这个

import time
import numpy as np

def time_loop(reps):

    start = time.clock()
    count = 0
    for i in range(reps):
        count += np.sin(reps)
    return time.clock() - start

time_loop(10000^100)

随着我增加参数,它确实需要更长的时间,即使循环的结果仍然是count=reps*sin(reps)。

^
是异或而不是指数:

>>> 10000^100
10100
这是一个很大的数字,但与指数不同:
**
,返回:

>>> 10000**100
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
这也需要“一段时间”来迭代

有关运算符及其优先级的良好参考,请参见:

^-按位异或

**-指数化


你认为
10000^100
的计算是什么?它不是指数运算-它是独占的