9 волшебных команд IPython, которые упростят вам процесс программирования

IPython является ядром Jupyter Notebook и лучшим другом специалистов по обработке данных.

Конечно, мы можем просто использовать IPython как обычную утилиту Python, не прибегая к каким-либо специальным трюкам.

Однако будет большим вашим преимуществом, если вы изучите “магические” трюки IPython ,а затем внедрите их в свою практику написания кода.

В этой статье будут описаны 9 простых в использовании “волшебных” команд IPython с интуитивно понятными примерами.

@python_job_interview – разбор вопросов с собеседований Python

1. %magic и %lsmagic: Получение информации о магических командах

Волшебные команды – это всего лишь несколько встроенных команд в ядре IPython, которые делают удобным выполнение некоторых конкретных задач.

Нет необходимости запоминать всё, потому что мы всегда можем получить список всех возможностей с помощью “meta” команды — %lsmagic.

9 волшебных команд IPython, которые упростят вам процесс программирования
Результат команды “%Ismagic”

Как показано в приведённом выше примере, в IPython существует два типа волшебных команд:

  • для строк: начиная с % и применяя к строке кода
  • для ячеек: начиная с %% и применяя к ячейке кода

Если мы хотим использовать определённую функцию и не утруждаем себя поиском её использования в Google, вопросительный знак – это все, что нам нужно:

9 волшебных команд IPython, которые упростят вам процесс программирования

Как показано выше, мы можем посмотреть документацию для конкретной команды, введя имя команды и знак вопроса.

Существует ещё одна “meta” команда , которая даст вам общее представление обо всех “магических” командах IPython.

Это %magic:

9 волшебных команд IPython, которые упростят вам процесс программирования

2. %timeit: Оценка времени выполнения программ на Python

Есть несколько способов проверить, насколько быстра ваша программа на Python. Очень удобный способ – это команда %timeit IPython.

Эта команда поддерживает магию как на уровне строки, так и на уровне ячейки. Единственная разница заключается в использовании одного или двух процентов.

9 волшебных команд IPython, которые упростят вам процесс программирования
9 волшебных команд IPython, которые упростят вам процесс программирования

3. %run: Выполнение внешнего скрипта на Python

Самый простой способ выполнить внешний скрипт Python в текущей оболочке IPython – это использовать команду %run.

По сути, то, что нам нужно ввести – это просто команда %run, следующая по пути к скрипту Python:

9 волшебных команд IPython, которые упростят вам процесс программирования

Эта команда также предоставляет некоторые полезные опции. Мой любимый вариант – это опция -t, которая может выводить время выполнения скрипта:

9 волшебных команд IPython, которые упростят вам процесс программирования

Как показано выше, добавление параметра -t позволит команде %run вывести процессорное время для выполнения скрипта.

Результаты показывают нам 3 типа временных записей:

  • User: количество процессорного времени, затрачиваемого в коде пользовательского режима (вне ядра) внутри процесса.
  • System: количество процессорного времени, затрачиваемого ядром в рамках процесса.
  • Wall time: реальное прошедшее время (время от начала до окончания вызова).

Кстати, для операционной системы пространство ядра строго зарезервировано для запуска кода системного уровня, такого как драйвер устройства. Напротив, пользовательское пространство предназначено для выполнения кода на уровне приложения.

4. %automagic: Вызов магии без знаков процента

Чтобы сделать использование магии более удобным, IPython предоставляет нам возможность выполнять эти команды без знаков процента.

Что нам нужно сделать, так это установить для команды %automagic значение 1, как показано в следующем примере:

9 волшебных команд IPython, которые упростят вам процесс программирования

Теперь мы можем выполнить волшебную команду непосредственно через её имя:

9 волшебных команд IPython, которые упростят вам процесс программирования

Конечно, если мы хотим отключить его, просто установите значение 0 в %automagic .

5. %who: Вывод переменных в вашей оболочке IPython

Было бы очень удобно, если бы вы могли проверить все переменные вашей оболочки IPython с помощью одной простой команды.

Волшебная команда %who может сделать это за вас.

Например, давайте определим ещё несколько переменных и выполним команду %who:

9 волшебных команд IPython, которые упростят вам процесс программирования

Как показано в приведённом выше примере, команда %who чётко перечисляет все переменные, которые мы определили в текущей оболочке IPython.

Мы также можем перечислить все переменные определённого типа:

9 волшебных команд IPython, которые упростят вам процесс программирования

6. Использование команд Linux с помощью Magics

Даже если вы используете систему Windows, вы всё равно можете выполнять многие команды Linux, такие как %cd, %cat, %cp, %env, %ls, %man, %mkdir, %more, %mv, %pwd, %rm и %rmdir, в IPython magics путь.

Поскольку мы только что включили %automagic, было бы более естественно использовать эти Linux команды.

Теперь давайте запустим команду ls на моём ноутбуке с Windows:

9 волшебных команд IPython, которые упростят вам процесс программирования

7. %env: Управляйте переменными среды словно гуру

Иногда бывает сложно настроить переменные среды вашей системы, особенно когда вы используете Windows.

К счастью, команда %env IPython всё упрощает. Его использование заключается в следующем.

  • Чтобы перечислить все переменные среды:
%env
  • Чтобы задать значение для переменной среды:
%env var=value

8. %xmode: Управляйте информацией об исключениях в вашем коде Python

Волшебная команда %xmode используется для управления форматом вывода исключений ваших программ.

Она принимает только один аргумент, режим. Существует четыре варианта: Plain, Context, Verbose и Minimal.

Такой тип гибкости может ускорить процесс отладки. Если причина одного исключения очень очевидна, мы можем просто использовать простой режим. Если нет, мы можем выбрать другой режим, который предоставляет больше информации для отладки.

Например, следующий код находится в режиме Minimal, поэтому он просто печатает самую важную информацию:

9 волшебных команд IPython, которые упростят вам процесс программирования

Теперь давайте изменим режим на Verbose. Исключение предоставит более подробную информацию:

9 волшебных команд IPython, которые упростят вам процесс программирования

9. %history: Легко проверьте старый код

Команда %historyв IPython аналогична команде history в Bash. Она может помочь нам восстановить старый код.

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

Добавление опции -n, как показано ниже, может вывести номера входных строк всего старого кода:

%history -n

Опция -n с цифрами выведет соответствующие строки кода:

9 волшебных команд IPython, которые упростят вам процесс программирования

Заключение

“Простое лучше сложного”.

Магические команды IPython прекрасно объясняют эту знаменитую цитату из “The Zen of Python”.

Понимание их – хорошее начало. Но применение этих магических приёмов к вашему следующему проекту более важно.

Спасибо за чтение!

+1
1
+1
5
+1
2
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *