如何在python中传递方法到timeit?

时间:2014-09-12 05:00:00

标签: python-2.7 timeit

所以我正在研究寻找斐波纳契数的迭代和递归方法。我想将它们都传递给timeit,但是我在调​​用timeit时遇到了麻烦。好的有人给我一点指导吗?谢谢!

    import timeit

def it_fib(n):
    total = 0
    while n > 0:
        total += n
        n -= 1
    return total

def rec_fib(n):
    if n == 0:
        return 0
    else:
        return n + rec_fib(n-1)

#print (it_fib(10))
#print (rec_fib(10))

print timeit.timeit("it_fib(n)", number = 1000000)
print timeit.timeit("rec_fib(n)", number = 1000000)

1 个答案:

答案 0 :(得分:0)

timeit.timeit可以使用函数或字符串。对于脚本使用,该功能通常更方便:

print timeit.timeit(lambda: it_fib(10))
print timeit.timeit(lambda: rec_fib(10))