百分号打头的行命令, Python magic function
Magic functions
最近看python seaborn教程时,发现有个例子里有一条百分号开头的命令:
%matplotlib inline
作为菜鸟的我竟然蒙了,不知道是什么意思。搜索了一下,原来是magic function:
IPython has a set of predefined ‘magic functions’ that you can call with a command line style syntax. There are two kinds of magics, line-oriented and cell-oriented. Line magics are prefixed with the % character and work much like OS command-line calls: they get as an argument the rest of the line, where arguments are passed without parentheses or quotes. Lines magics can return results and can be used in the right hand side of an assignment. Cell magics are prefixed with a double %%, and they are functions that get as an argument not only the rest of the line, but also the lines below it in a separate argument.
See link.
%matplotlib inline
然后我又研究了一下 %matplotlib inline的功能:
sets the backend of matplotlib to the ‘inline’ backend:
With this backend, the output of plotting commands is displayed inline within frontends like the Jupyter notebook, directly below the code cell that produced it. The resulting plots will then also be stored in the notebook document.
基本的意思是,当你使用这个magic function 时, 他会把matplotlib绘制的图在文档(jupyter notbook)里显示出来,显示位置在命令行的下方。