为什么 %%timeit 在 Jupyter Notebook 中工作正常,但在 Python Shell IDLE 中抛出 SyntaxError?

Why does %%timeit work fine in Jupyter Notebook but throws SyntaxError in Python Shell IDLE?

%%timeit
d = deque()
for i in range(40000):
    d.appendleft(i)

以上代码在 Jupyter Notebook 中打印出的执行时间为:每次循环 3.39 毫秒 ± 168 微秒(平均值 ± 标准偏差为 7 运行 秒,每次循环 100 次) 但是,当我在 Python IDLE Shell 中 运行 这段代码时,它指示 SyntaxError at % in %%timeit。怎么会这样?

因为%%是Jupyter的“细胞魔法”:https://ipython.readthedocs.io/en/stable/interactive/magics.html#cell-magics

这不是本机 Python 语法。

%%time 是 so-called Jupyter 的 magic command.