我正在使用神奇的%% timeit函数来获取执行某些代码所需的时间。困扰我的是,当我运行%% timeit时,我没有得到结果。对于实例:
a=5
b=3
%%timeit
c = a + b
现在如果我想在下一个单元格中使用c,我得到c尚未定义。
print(c)
>>>NameError: name 'c' is not defined
你能帮助我理解为什么会发生这种情况,为什么在那个特定的单元格中使用魔法%% timeit函数时不能存储?
答案 0 :(得分:3)
当您使用%%timeit
计算代码时,您提供的代码将在单独的命名空间中执行,因此其效果对您的环境不可见。
答案 1 :(得分:0)
细胞模式:
modelBuilder.Entity<Item>().HasIndex(b => b.Name).IsUnique();
在单元格模式下,第一行中的语句用作设置代码 (已执行但未定时)并且单元的主体是定时的。细胞 body可以访问在设置代码中创建的任何变量。
https://ipython.org/ipython-doc/3/interactive/magics.html#magic-timeit
您在单元格模式下执行,该行只是设置代码;这意味着它实际上没有定时,其结果只能通过它后面的单元代码访问。