Учебники

IPython — магические команды

Магические команды или магические функции являются одним из важных улучшений, которые предлагает IPython по сравнению со стандартной оболочкой Python. Эти магические команды предназначены для решения распространенных проблем при анализе данных с использованием Python. Фактически они контролируют поведение самого IPython.

Магические команды действуют как удобные функции, где синтаксис Python не самый естественный. Они полезны для встраивания неверного синтаксиса Python в свой рабочий процесс.

Типы магических команд

Есть два типа магических команд —

  • Линия магии
  • Клеточная магия

Line Magics

Они похожи на вызовы командной строки. Они начинаются с символа%. Остальная часть строки — это аргумент, переданный без скобок и кавычек. Магические линии можно использовать в качестве выражения, а их возвращаемое значение можно присвоить переменной.

Cell Magics

У них есть %% префикс символов. В отличие от функций магии строк, они могут работать на несколько строк ниже своего вызова. Фактически они могут вносить произвольные изменения в ввод, который они получают, что вообще не обязательно должно быть допустимым кодом Python. Они получают весь блок в виде одной строки.

Чтобы узнать больше о магических функциях, встроенной магии и их строках документов, используйте магическую команду. Информация о конкретной магической функции получается с помощью% magicfunction? Command. Давайте теперь опишем некоторые из встроенных команд строки и ячейки магии.

Встроенная линия магии

%autocall [mode]

Эта магическая функция делает функцию автоматически вызываемой без использования скобок. Он принимает три возможных параметра режима: 0 (выкл), 1 (умный) по умолчанию или 2 (всегда включен) .

Встроенная линия Magics

% Automagic

Магические функции могут вызываться без необходимости набирать начальный%, если установлено значение 1. Без аргументов он включает / выключает. Чтобы деактивировать, установите на 0.

В следующем примере показана волшебная функция % pwd (отображает текущую рабочую директорию), вызываемая без начального%, когда% automagic установлено в 1

% Automagic

%CD

Эта строка magic меняет текущий каталог. Эта команда автоматически поддерживает внутренний список каталогов, которые вы посещаете во время сеанса IPython, в переменной _dh. Вы также можете сделать ‘cd — <tab>’ для удобного просмотра истории каталогов.

%CD

использование

Команду% cd можно использовать следующими способами:

  • % cd <dir> — изменяет текущий рабочий каталог на <dir>

  • % cd .. — изменяет текущий каталог на родительский каталог

  • % cd — изменяется на последний посещенный каталог.

% cd <dir> — изменяет текущий рабочий каталог на <dir>

% cd .. — изменяет текущий каталог на родительский каталог

% cd — изменяется на последний посещенный каталог.

% dhist

Эта магическая команда печатает все каталоги, которые вы посетили в текущем сеансе. Каждый раз, когда используется команда% cd, этот список обновляется в переменной _dh .

% dhist

%редактировать

Эта волшебная команда вызывает текстовый редактор по умолчанию текущей операционной системы (Notepad for Windows) для редактирования скрипта Python. Сценарий выполняется, так как редактор закрыт.

% ENV

Эта магическая команда выведет список всех переменных среды. Он также читает значение конкретной переменной или устанавливает значение переменной среды.

использование

Команду% cd можно использовать следующими способами:

  • % env — перечисляет все переменные окружения

  • % env var — получает значение для var

  • % env var val — устанавливает значение для var

% env — перечисляет все переменные окружения

% env var — получает значение для var

% env var val — устанавливает значение для var

% ENV

% 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

Отображает все магические функции, доступные в настоящее время

% 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.

% Matplotlib

При использовании ноутбука Jupyter встроенная директива% matplotlib отображает вывод печати только в браузере.

%ноутбук

Эта функция преобразует текущую историю IPython в файл записной книжки IPython с расширением ipynb. Ячейки ввода в предыдущем примере сохраняются как sine.ipynb

%notebook sine.ipynb

% pinfo

Эта функция похожа на самоанализ объекта? персонаж. Чтобы получить информацию об объекте, используйте следующую команду —

%pinfo object

Это синоним объекта? или ? объект .

% точность

Эта магическая функция ограничивает результат с плавающей точкой указанными цифрами после десятичной дроби.

% точность

% PWD

Эта магическая функция возвращает текущий рабочий каталог.

% PWD

% pylab

Эта функция заполняет текущий сеанс IPython библиотеками matplotlib и numpy.

% pylab

%отзыв

При выполнении без какого-либо параметра эта функция выполняет предыдущую команду.

Обратите внимание, что в % rev n число перед ним является номером входной ячейки. Следовательно, команда в n-й ячейке вызывается. Вы можете вызывать команды в секции ячеек, используя такие команды, как % rec 1-4 . Текущая ячейка ввода заполняется вызванной ячейкой, и курсор мигает до нажатия клавиши ввода.

%отзыв

%бежать

Эта команда запускает скрипт Python из оболочки IPython.

%бежать

%время

Эта команда отображает время, необходимое среде IPython для выполнения выражения Python.

%время

% timeit

Эта функция также отображает время, необходимое среде IPython для выполнения выражения Python. Время выполнения оператора или выражения Python использует модуль timeit. Эту функцию можно использовать как магию строк и ячеек, как описано здесь:

  • В режиме линии вы можете рассчитать одну строку.

  • В режиме ячейки оператор в первой строке используется в качестве кода установки, а тело ячейки синхронизируется. Тело ячейки имеет доступ к любым переменным, созданным в коде установки.

В режиме линии вы можете рассчитать одну строку.

В режиме ячейки оператор в первой строке используется в качестве кода установки, а тело ячейки синхронизируется. Тело ячейки имеет доступ к любым переменным, созданным в коде установки.

%кто

Эта строка magic печатает все интерактивные переменные с минимальным форматированием. Если даны какие-либо аргументы, печатаются только переменные, тип которых соответствует одному из них.

%кто

IPython Custom Line Волшебная функция

Основная библиотека IPython содержит оформитель register_line_magic. Пользовательская функция преобразуется в магию строки с помощью этого декоратора.