【问题标题】:Difference between % and %% in ipython magic commandsipython 魔术命令中 % 和 %% 的区别
【发布时间】:2019-10-29 12:52:19
【问题描述】:

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

【问题讨论】:

  • %magic 是一种行魔法,它在同一行使用输入。 %%magic 是一个单元格魔法,它接受多行输入。我使用%timeit 来测试一个简单的表达式。我使用 `%%timeit 在第一行进行设置,然后在多行表达式中使用以下行。
  • 任何可用的示例和文档@hpaulj
  • 我在我的 numpy 答案中经常使用它们
  • 有一个关于 ipython 中 %%% 之间区别的更一般性的问题会很有用,它不仅仅关注 timeit,并且一个很好的答案可以解释差异在线魔法和细胞魔法之间。如果你用谷歌搜索,结果很糟糕。

标签: ipython ipython-magic


【解决方案1】:

一般来说,一个百分号被称为line magic,它只适用于同一行中紧随其后的代码。两个百分号被称为单元格魔法,适用于整个单元格中的所有内容。

就像The Data Science Handbook

魔术命令有两种形式:线魔术,表示为 单个 % 前缀并在单行输入和单元格上操作 魔法,由双 %% 前缀表示并在 多行输入。

一些魔术命令,例如timeit,可以作为线魔术或单元魔术:

用作线魔法:

%timeit y = 2 if x < 3 else 4

用作细胞魔法:

%%timeit
if x < 3:
    y=2
else:
    y=4

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多