2013-10-16 71 views
1

什麼是IPython automagic?我到處尋找,我無法找到一個定義。什麼是IPython automagic?

例子:

如果你有「AUTOMAGIC」啓用(因爲它默認情況下),你不需要在單%明確爲行魔法 類型; IPython會掃描它的 魔法函數的內部列表,並調用一個,如果它存在。然後用 AUTOMAGIC你只需鍵入cd MYDIR去目錄 「MYDIR」:

來源http://ipython.org/ipython-doc/dev/interactive/reference.html

+4

這是一個特定的IPhython,與Python語言規範無關。 – Hyperboreus

+0

並且隻影響控制檯。 ipython有一些控制檯指令,如%prun(它在分析器中運行以下命令),用戶可以定義它們自己的。 automagic只是讓你鍵入'prun函數(arg1,arg2)'而不是'%prun函數(arg1,arg2)',但你不能在腳本中使用它們。 –

回答

2

在IPython中,魔法是執行某些動作一個特殊(非Python)的語法,如:

%run myscript.py 

%cd /path/to/something 

如果automagic上,然後IPython中會添加領先%,如果你離開它,讓你做這樣的事情:

run myscript.py 

cd /path/to/something 

如果禁用automagics,那麼你可能會看到的東西像這樣:

In [1]: %automagic 0 

Automagic is OFF, % prefix IS needed for line magics. 

In [2]: cd path 
    File "<ipython-input-2-ed35da3eb5b7>", line 1 
    cd path 
     ^
SyntaxError: invalid syntax 

但它確實允許您對IPython提供的功能以及Python本身提供的功能有更多的瞭解。