Como funciona a pasta% magic do IPython?

Eu quero copiar as funções / classes do código / inteiro do Python para o IPython. Toda vez que eu tento o recuo está estragado e recebo a seguinte mensagem de erro:

IndentationError: unindent does not match any outer indentation level (<ipython-input-23-354f8c8be51b>, line 12)

If you want to paste code into IPython, try the %paste and %cpaste magic functions.