Python timeit模块导致无限循环

Python timeit模块导致无限循环,python,profiling,Python,Profiling,考虑一下Python3代码: def classic_fibonacci(限制:int)->列表[int]: nums=[] 当前,nxt=0,1 当电流

考虑一下Python3代码:


def classic_fibonacci(限制:int)->列表[int]:
nums=[]
当前,nxt=0,1
当电流<极限时:
当前,nxt=nxt,nxt+curr
nums.append(当前)
返回nums
def classic_fib_profiling():
对于经典斐波那契中的n(极限=1000):
打印(n,结束=',')
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
导入时间信息
timeit.timeit(“classic\u fib\u profiling()”,setup=“from\uuu main\uuuu导入classic\u fib\u profiling”)
调用
classic\u fib\u profiling()
会像预期的那样返回一个Fibonacci数列表,限制为
limit
参数


另一方面,使用
timeit.timeit
调用它会导致解释器进入无限循环,永不停止。我无法通过调试或搜索文档(等等)找到解决方案。任何帮助都将不胜感激。

这不是无限循环。它将运行相同的函数
number
次(默认值:
number=1000000
)。只需等待它完成,或者提供循环应该运行的次数。检查
timeit.timeit
函数的参数

模块timeit中有关函数timeit的帮助:

timeit(stmt='pass',setup='pass',timer=,number=1000000,globals=None) 创建Timer对象和调用timeit方法的便利函数

将线路从

>>> timeit.timeit("classic_fib_profiling()", setup="from __main__ import classic_fib_profiling")


然后观察:)

好吧,只是我跛脚了:(我应该更仔细地阅读文档!
>>> timeit.timeit("classic_fib_profiling()", setup="from __main__ import classic_fib_profiling", number=1)