Лучшее, что я придумал сейчас, это использование run_cell
метода
Сначала вам нужно получить текущую интерактивную оболочку Ipython с помощью get_ipython
Полный пример
ip = get_ipython()
for _ in range(5): ips.run_cell('inc')
Это не решение, которое полностью удовлетворяет меня, но, может быть, кто-то еще сможет добавить что-то лучше.
Примечание: Решение ниже работает для более старых Ipython
попробуйте просто запустить его как вызываемый:
for _ in range(10): <b>inc()</b>
Объяснение * * 1023
Макросы Ipython являются экземплярами IPython.core.macro.Macro
Документация утверждает, что это просто простые объекты, хранящие кусок истории в переменной. И это правда.
In [20]: inc.__dict__
Out[20]: {'value': u'x += 1\n'}
Вы также можете прочитать:
Макрос - это просто вызываемый объект, который выполняет строку IPython