无法存储%time魔术的结果,但可以存储%timeit魔术的结果。timeit魔法的配置要稍微多一些。因此,如果您希望它的行为与%time完全相同,则需要对其进行配置。在下面的代码中使用了参数-n1 -r1 and -o。这里-n1表示在一个循环中运行代码n(1)次。-r1表示运行循环r(1)次并获得最佳结果。你不需要使用这些标志,它们只是意味着你会更快地得到结果。如果你真的使用它们,那么结果会更具代表性。magic将根据计时代码的快或慢,尝试为n和r选择合理的值。这意味着无论代码有多快或多快,都应该在几乎相同的时间内得到结果。因此,你可能不想使用它们。最后,-o表示返回一个result对象(而不是只打印结果)。在
例如
In [1]: result = %timeit -n1 -r1 -o sum(range(1000000))
53.7 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
In [2]: print(result)
print(result.average)
53.7 ms ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)
0.05373367803767323
您还可以定义自己的函数,该函数在单元格的开头和结尾接收时间戳。例如:
然后运行如下:
^{pr2}$以:hha:hha-out格式打印此执行。在
无法存储
%time
魔术的结果,但可以存储%timeit
魔术的结果。timeit
魔法的配置要稍微多一些。因此,如果您希望它的行为与%time
完全相同,则需要对其进行配置。在下面的代码中使用了参数-n1 -r1 and -o
。这里-n1
表示在一个循环中运行代码n(1)次。-r1
表示运行循环r(1)次并获得最佳结果。你不需要使用这些标志,它们只是意味着你会更快地得到结果。如果你真的使用它们,那么结果会更具代表性。magic将根据计时代码的快或慢,尝试为n
和r
选择合理的值。这意味着无论代码有多快或多快,都应该在几乎相同的时间内得到结果。因此,你可能不想使用它们。最后,-o
表示返回一个result对象(而不是只打印结果)。在例如
细胞魔法有点复杂,因为你不能直接指定它的结果。在
^{pr2}$相关问题 更多 >
编程相关推荐