Магические команды или магические функции являются одним из важных улучшений, которые предлагает IPython по сравнению со стандартной оболочкой Python. Эти магические команды предназначены для решения распространенных проблем при анализе данных с использованием Python. Фактически они контролируют поведение самого IPython.
Магические команды действуют как удобные функции, где синтаксис Python не самый естественный. Они полезны для встраивания неверного синтаксиса Python в свой рабочий процесс.
Типы магических команд
Есть два типа магических команд —
- Линия магии
- Клеточная магия
Line Magics
Они похожи на вызовы командной строки. Они начинаются с символа%. Остальная часть строки — это аргумент, переданный без скобок и кавычек. Магические линии можно использовать в качестве выражения, а их возвращаемое значение можно присвоить переменной.
Cell Magics
У них есть %% префикс символов. В отличие от функций магии строк, они могут работать на несколько строк ниже своего вызова. Фактически они могут вносить произвольные изменения в ввод, который они получают, что вообще не обязательно должно быть допустимым кодом Python. Они получают весь блок в виде одной строки.
Чтобы узнать больше о магических функциях, встроенной магии и их строках документов, используйте магическую команду. Информация о конкретной магической функции получается с помощью% magicfunction? Command. Давайте теперь опишем некоторые из встроенных команд строки и ячейки магии.
Встроенная линия магии
%autocall [mode]
Эта магическая функция делает функцию автоматически вызываемой без использования скобок. Он принимает три возможных параметра режима: 0 (выкл), 1 (умный) по умолчанию или 2 (всегда включен) .
% Automagic
Магические функции могут вызываться без необходимости набирать начальный%, если установлено значение 1. Без аргументов он включает / выключает. Чтобы деактивировать, установите на 0.
В следующем примере показана волшебная функция % pwd (отображает текущую рабочую директорию), вызываемая без начального%, когда% automagic установлено в 1
%CD
Эта строка magic меняет текущий каталог. Эта команда автоматически поддерживает внутренний список каталогов, которые вы посещаете во время сеанса IPython, в переменной _dh. Вы также можете сделать ‘cd — <tab>’ для удобного просмотра истории каталогов.
использование
Команду% cd можно использовать следующими способами:
-
% cd <dir> — изменяет текущий рабочий каталог на <dir>
-
% cd .. — изменяет текущий каталог на родительский каталог
-
% cd — изменяется на последний посещенный каталог.
% cd <dir> — изменяет текущий рабочий каталог на <dir>
% cd .. — изменяет текущий каталог на родительский каталог
% cd — изменяется на последний посещенный каталог.
% dhist
Эта магическая команда печатает все каталоги, которые вы посетили в текущем сеансе. Каждый раз, когда используется команда% cd, этот список обновляется в переменной _dh .
%редактировать
Эта волшебная команда вызывает текстовый редактор по умолчанию текущей операционной системы (Notepad for Windows) для редактирования скрипта Python. Сценарий выполняется, так как редактор закрыт.
% ENV
Эта магическая команда выведет список всех переменных среды. Он также читает значение конкретной переменной или устанавливает значение переменной среды.
использование
Команду% cd можно использовать следующими способами:
-
% env — перечисляет все переменные окружения
-
% env var — получает значение для var
-
% env var val — устанавливает значение для var
% env — перечисляет все переменные окружения
% env var — получает значение для var
% env var val — устанавливает значение для var
% gui [GUINAME]
При использовании без аргументов эта команда включает или отключает интеграцию цикла событий интерфейса IPython. С аргументом GUINAME эта магия заменяет наборы инструментов GUI по умолчанию на указанный.
Sr.No. | Команда и описание |
---|---|
1 |
% gui wx включить интеграцию цикла событий wxPython |
2 |
% gui qt4 | qt включить интеграцию цикла событий PyQt4 |
3 |
% gui qt5 включить интеграцию цикла событий PyQt5 |
4 |
% gui gtk включить интеграцию цикла событий PyGTK |
5 |
% gui gtk3 включить интеграцию цикла событий Gtk3 |
6 |
% gui tk включить интеграцию цикла событий Tk |
7 |
% gui osx включить интеграцию цикла событий Какао |
8 |
(требуется% matplotlib 1.1) |
9 |
% гуй отключить всю интеграцию цикла событий |
% gui wx
включить интеграцию цикла событий wxPython
% gui qt4 | qt
включить интеграцию цикла событий PyQt4
% gui qt5
включить интеграцию цикла событий PyQt5
% gui gtk
включить интеграцию цикла событий PyGTK
% gui gtk3
включить интеграцию цикла событий Gtk3
% gui tk
включить интеграцию цикла событий Tk
% gui osx
включить интеграцию цикла событий Какао
(требуется% matplotlib 1.1)
% гуй
отключить всю интеграцию цикла событий
% lsmagic
Отображает все магические функции, доступные в настоящее время
% Matplotlib
Эта функция активирует интерактивную поддержку matplotlib во время сеанса IPython. Тем не менее, он не импортирует библиотеку matplotlib. Набор инструментов GUI по умолчанию для matplotlib — TkAgg. Но вы можете явно запросить другой интерфейс GUI. Вы можете увидеть список доступных бэкэндов, как показано на рисунке —
In [4]: %matplotlib --list Available matplotlib backends: ['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg','gtk', 'tk', 'inline']
Показанный здесь сеанс IPython представляет синусоидальную волну с использованием инструментария qt.
При использовании ноутбука Jupyter встроенная директива% matplotlib отображает вывод печати только в браузере.
%ноутбук
Эта функция преобразует текущую историю IPython в файл записной книжки IPython с расширением ipynb. Ячейки ввода в предыдущем примере сохраняются как sine.ipynb
%notebook sine.ipynb
% pinfo
Эта функция похожа на самоанализ объекта? персонаж. Чтобы получить информацию об объекте, используйте следующую команду —
%pinfo object
Это синоним объекта? или ? объект .
% точность
Эта магическая функция ограничивает результат с плавающей точкой указанными цифрами после десятичной дроби.
% PWD
Эта магическая функция возвращает текущий рабочий каталог.
% pylab
Эта функция заполняет текущий сеанс IPython библиотеками matplotlib и numpy.
%отзыв
При выполнении без какого-либо параметра эта функция выполняет предыдущую команду.
Обратите внимание, что в % rev n число перед ним является номером входной ячейки. Следовательно, команда в n-й ячейке вызывается. Вы можете вызывать команды в секции ячеек, используя такие команды, как % rec 1-4 . Текущая ячейка ввода заполняется вызванной ячейкой, и курсор мигает до нажатия клавиши ввода.
%бежать
Эта команда запускает скрипт Python из оболочки IPython.
%время
Эта команда отображает время, необходимое среде IPython для выполнения выражения Python.
% timeit
Эта функция также отображает время, необходимое среде IPython для выполнения выражения Python. Время выполнения оператора или выражения Python использует модуль timeit. Эту функцию можно использовать как магию строк и ячеек, как описано здесь:
-
В режиме линии вы можете рассчитать одну строку.
-
В режиме ячейки оператор в первой строке используется в качестве кода установки, а тело ячейки синхронизируется. Тело ячейки имеет доступ к любым переменным, созданным в коде установки.
В режиме линии вы можете рассчитать одну строку.
В режиме ячейки оператор в первой строке используется в качестве кода установки, а тело ячейки синхронизируется. Тело ячейки имеет доступ к любым переменным, созданным в коде установки.
%кто
Эта строка magic печатает все интерактивные переменные с минимальным форматированием. Если даны какие-либо аргументы, печатаются только переменные, тип которых соответствует одному из них.
IPython Custom Line Волшебная функция
Основная библиотека IPython содержит оформитель register_line_magic. Пользовательская функция преобразуется в магию строки с помощью этого декоратора.