ipython 魔法命令中 % 和 %% 之间的区别

big*_*nty 10 ipython ipython-magic

%timeit在 ipython 中使用和有何区别%%timeit?因为当我阅读使用的文档时?%timeit?%%timeit它是相同的文档。那么,添加%前缀有什么区别呢?

eri*_*ric 9

一般来说,一个百分号被称为行魔术,并且仅适用于同一行中紧随其后的代码。两个百分号被称为单元魔法,适用于整个单元中后续的所有内容。

正如《数据科学手册》中所说:

魔法命令有两种类型:行魔法,由单个 % 前缀表示,对单行输入进行操作;单元格魔法,由双 %% 前缀表示,对多行输入进行操作。

一些魔法命令,例如timeit,可以用作线条魔法或单元魔法:

用作线条魔术:

%timeit y = 2 if x < 3 else 4
Run Code Online (Sandbox Code Playgroud)

用作细胞魔法:

%%timeit
if x < 3:
    y=2
else:
    y=4
Run Code Online (Sandbox Code Playgroud)