Топ-10 магических команд в Python, которые повысят вашу продуктивность

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

Что же такое магические команды Python?

Магические команды — это улучшения, добавляемые поверх обычного кода на Python, их предоставляет ядро IPython.

Эти команды обычно начинаются с символа “%”

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

Существует 2 типа магических команд: строчные, обозначенные одним символом %, и ячеечные, обозначенные двойным символом % %.

Префикс % означает, что команда работает на одной строке кода, в то время как префикс %% позволяет команде работать над всей ячейкой.

Ниже приведен список магических команд и примеры их использования в блокнотах Jupyter.

Выполнение внешнего кода

Любой внешний код Python из блокнота Jupyter можно запускать с помощью команды %run.

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Файл myCode.py на изображении выше содержит простой скрипт, который выводит предложение “The world makes sense!».

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Если мы введем команду %run, а после нее зададим имя файла, она выполнит код, который содержится в указанном файле.

Примечание: %run также позволяет выполнять код из других блокнотов Jupyter.

t.me/python_job_interview – разбор практических вопросов с собеседований Python.

Время работы кода

Вы никогда не задумывались, сколько именно времени занимает работа кода в рамках одной ячейки?

Топ-10 магических команд в Python, которые повысят вашу продуктивность
Photo by Luke Chesser on Unsplash

 Магическая команда time позволяет получить всю необходимую информацию о времени.

Поскольку здесь мы будем иметь дело со всей ячейкой, мы будем использовать %% в качестве префикса перед ключевым словом time.

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Ячейка на примере выше включает в себя цикл for со случайным вычислением. %%time помогает узнать время, необходимое для перебора в цикле for.

Копирование содержимого во внешний файл

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

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

Обратите внимание на двойной % перед командой, который говорит о том, что будет экспортировано содержимое всей ячейки.

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Поскольку у меня уже был создан файл с некоторым кодом, этот код выводит «Overwriting myCode.py» (Перезапись файла). Это говорит о том, что исходное содержимое будет заменено кодом, показанным на изображении выше.

Просмотр содержимого внешнего файла

Часто вам может понадобиться скопировать в свой код несколько строк кода из внешнего файла. Команда %pycat избавит вас от долгой процедуры извлечения определенных данных из файла и их копирования в другой файл. Она позволяет просматривать содержимое любого файла в любом каталоге.

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Содержимое внешнего файла отображается в качестве его выходных данных. С точки зрения функционирования этой магической команды получается, что это %writefile, только наоборот.

Топ-10 магических команд в Python, которые повысят вашу продуктивность
Photo by Chris Liverani on Unsplash

Держись крепче! Впереди еще много удивительного «волшебства».

Список всех переменных

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

Ниже приведены 3 переменные — 2 строки и 1 целое число. Если мы используем %who, она перечислит все 3 переменные, которые мы задали.

a = “hello”
b = “Good Morning”
c = 1
Топ-10 магических команд в Python, которые повысят вашу продуктивность

Приведенный выше код отображает все переменные независимо от их типа.

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Для того чтобы получить переменные определенного типа, мы должны указать этот тип после магической команды. Приведенный выше код отображает все переменные строкового типа в качестве выходных данных.

Обмен переменными между блокнотами

Топ-10 магических команд в Python, которые повысят вашу продуктивность
Photo by Kelly Sikkema on Unsplash

Эта волшебная команда позволяет вам хранить любую переменную и использовать ее в различных блокнотах Jupyter.

Чтобы извлечь переменную, вам нужно ввести ту же команду с параметром ‘-r’.

Вот так выглядит первый блокнот:

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Код, необходимый для извлечения этих данных, записан в другом блокноте.

Топ-10 магических команд в Python, которые повысят вашу продуктивность

Это самый простой способ обмена данными любого типа между различными блокнотами.

Выполнение html-скрипта

%% html позволяет нам писать html-код в ячейке. Теперь ячейка будет действовать как html-редактор с html-выводом ячейки.

Следующий код состоит из простой таблицы, созданной в формате html. Заметьте, что html-вывод отображает ожидаемую таблицу.

%%html
<html>
<body>
<table>
        <tr> 
            <th>Name</th> 
            <th>Country</th> 
            <th>Age</th> 
        </tr> 
        <tr> 
            <td>Sid</td> 
            <td>India</td> 
            <td>22</td> 
        </tr>
        <tr> 
            <td>Dave</td> 
            <td>UK</td> 
            <td>28</td> 
        </tr>
</table>
</body>
</html>
Топ-10 магических команд в Python, которые повысят вашу продуктивность

Совет: вы можете запустить код JavaScript в ячейке с помощью команды % %js magic, аналогичной магической команде HTML.

Отображение графиков Matplotlib

%matplotlib inline — это самая популярная магическая команда. Она позволяет отображать в блокнотах графики Matplotlib. Эта команда активирует интерактивную поддержку Matplotlib для блокнота Jupyter.

import random
import matplotlib.pyplot as plt
%matplotlib inline

Мы импортировали несколько библиотек, чтобы показать, как работает команда.

Теперь создадим два случайных списка для построения графика:

a = []
b = []
for i in range(10):
    a.append(random.randint(0,10))
    b.append(random.randint(0,10))

Далее мы построим диаграмму рассеяния данных:

plt.scatter(a,b)
Топ-10 магических команд в Python, которые повысят вашу продуктивность

Магическая команда %matplotlib inline позволяет визуализировать график внутри блокнота Jupyter.

Переменные среды

Эта волшебная команда позволяет вам сделать 3 вещи — вывести список всех переменных в среде, получить значение конкретной переменной среды и установить значение переменной.

Топ-10 магических команд в Python, которые повысят вашу продуктивность

%env без переменной будет перечислять все переменные среды.

Топ-10 магических команд в Python, которые повысят вашу продуктивность

%env с одной переменной вернет значение для указанного параметра.

%env variable value задаст значение для указанного имени переменной.

Подробная информация об объекте

%pinfo предоставляет подробную информацию об объекте, который передается вместе с ним. Она похожа на функцию object?.

В следующем фрагменте я указал простую строку “a” вместе с %pinfo, чтобы получить подробную информацию о ней.

a = "The World Makes Sense!"
%pinfo a
Топ-10 магических команд в Python, которые повысят вашу продуктивность

В приведенных выше выходных данных %pinfo предоставляет всю информацию о строке.

Топ-10 магических команд в Python, которые повысят вашу продуктивность
Photo by Alex Guillaume on Unsplash

Вы можете посмотреть весь список магических команд, используя команду “%lsmagic”.

%lsmagic
Топ-10 магических команд в Python, которые повысят вашу продуктивность

На мой взгляд это были лучшие 10 магических команд, которые могут улучшить вашу продуктивность и сэкономить время.

Надеюсь, вам понравилось!

источник

+1
0
+1
1
+1
0
+1
0
+1
0

Ответить

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