Capture el resultado de una función mágica de IPython

Estoy tratando de capturar el objeto resultante de la función mágica de IPython Notebook. Específicamente%timeit

Entonces el siguiente código ...

import time
def say_hello(n):
    time.sleep(n)
    print "hello"

t = %timeit say_hello(5)

Impresiones a stdout:

1 loops, best of 3: 5 s per loop

Sin embargo, me gustaría capturar el resultado de%timeit say_hello(5) en la variablet.

Un objeto resultante llamadoTimeitResult es generado por%timeit, pero no puedo entender cómo acceder a él desde un Notebook.

Me gustaría una solución más limpia que tener que capturar stdout manualmente usandosys.stdout trucos (este código será parte de una presentación, así que estoy tratando de mantenerlo lo más sencillo posible). ¿Alguien tiene alguna idea?

Respuestas a la pregunta(2)

Su respuesta a la pregunta