Секрет оптимизации процесса написания кода на Python в Jupyter Notebook, который все знают, но мало кто использует |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2022-04-03 21:04 Время – самый ценный ресурс, а также невосполнимый. Чаще всего осознание этого приходит в момент, когда истекает крайний срок выполнения поставленной задачи. Тогда мы начинаем анализировать, на что было оно потрачено, насколько рационально и была ли возможность сделать быстрее. Если данную ситуацию рассматривать с позиции IT-специалиста, то, на мой взгляд, поставленную задачу можно поделить на три этапа:
Для каждого этапа существуют методы и инструменты, с помощью которых можно сократить временные трудозатраты, но более подробно хочу остановиться на этапе кодинга. Ведь на скорость, кроме высокого уровня владения языком программирования и наличие опыта, влияет уровень знания инструмента, в котором пишется код. Поэтому, IT-специалисты, которые не изучают доступный функционал своих рабочих приложений, упускают возможность повысить свою производительность. Далее хочу поделиться своим опытом оптимизации процесса написания кода на Python в Jupyter Notebook. Начнем с самого простого, что не требует дополнительной настройки, а именно с горячих клавиш (комбинаций кнопок на клавиатуре, при нажатии которых выполняются команды без использования мыши). Часто используемые команды: «Alt» + «Enter» – Выполнение текущей ячейки и перевод фокуса на новую ячейку, созданную ниже «Shift» + «Enter» – Выполнение текущей ячейки и перевод фокуса на следующую «Ctrl» + «Enter» – Выполнение текущей ячейки и сохранение фокуса на текущей ячейке «Esc» => Переход из режима редактирования (edit mode) в командный (command mode): «Esc» => «A» – Добавление пустой ячейки сверху или «B» – Добавление пустой ячейки снизу «Esc» => «C» – Копирование ячейки и «V» её вставка «Esc» => «X» – Вырезание ячейки и «V» её вставка «Esc» => «DD» – Удаления ячейки «Esc» => «Z» – Отмена удаления ячейки Для применения к нескольким ячейкам: «Esc» => «Shift» + «K» или «Up» – Выделение ячеек выше текущей «Esc» => «Shift» + «J» или «Down» – Выделение ячеек ниже текущей Для максимального исключения использования мыши: «Esc» => «Shift» + «M» – Объединение нескольких ячеек «Ctrl» + «Shift» + «–» – Разделение на несколько ячеек (поставьте курсор перед линией, с которой должна начаться вторая ячейка) «Esc» => «00» – Перезапуск блокнота «Esc» => «F» – Поиск и замена информации в ячейках «Esc» => «Space» – Прокрутка блокнота вниз «Esc» => «Shift + Space» – Прокрутка блокнота вверх «Esc» => «1, 2, 3, 4, 5, 6» – Определение заголовка в markdown «Esc» => «Y, M, R» – Конвертация типов ячеек (Code, Markdown, Raw) «Esc» => «O» – Включение/Выключение вывода результата в ячейке «Esc» => «L» – Включение/Выключение номеров строк в ячейке На случай, если забыли и необходимо подсмотреть: «Esc» => «H» – Вызывает окно помощь со списком горячих клавиш «Esc» => «Ctrl + Shift +P» – Вызывает командную панель со списком горячих клавиш Это не все команды, но, на мой взгляд, необходимый минимум для начала оптимизации процесса написания скрипта. И если вы ранее, при работе в программе, особенно с часто повторяющимися действиями, не использовали горячие клавиши, начинайте, так как отпадет необходимость выцеливать команды на панели инструментов и увеличится скорость создания скрипта за счет сокращения количества взаимодействий с мышью. Перейдем к более тонкой настройки Jupyter Notebook с помощью расширений «Nbextensions», они улучшат функционал и существенно модифицируют пользовательский интерфейс. Для этого необходимо установить пакет «jupyter_contrib_nbextensions» с помощью двух команд: Pip install jupyter_contrib_nbextensions Jupyter contrib nbextension install —user После в Jupyter Notebook на стартовой странице появится вкладка «Nbextensions» с перечнем расширений. При выборе одного из них, ниже подгружается описание и поле для настройки доступных параметров. На текущий момент для себя выделил три расширения:
2. Autopep8 – преобразует код Python в соответствии со стилевым руководством PEP8. Перед активацией расширения, дополнительно из командной строки запустить Для преобразования написанного кода на панели инструментов появиться иконка в виде молота. 3. Code Folding – в код добавляются метки в виде треугольников для скрытия, удобно при объемных функциях Общего списка какие расширения необходимо ставить нет, так как задачи, решаемые в Jupyter Notebook, разнообразны и лучше всего на собственном опыте его определять. В дополнении предлагаю подумать о будущих задачах и создать свою базу знаний с помощью магических команд (magics). Для создания и наполнения информацией используем команду «%%writefile» указываем в параметрах «—a» для добавления в файл, иначе будет перезаписываться и указываем имя файла «C:Users … DocumentsMyBase.py», включив в него полный путь места хранения, после вставляем код, который хотим записать. Пример: Если сохранять в том формате, который указан в примере, а именно после magics-команды пропустить строку и после «>>>»»»» прописать краткое пояснение, а со следующей строки вставить сохраняемый скрипт до ««»»», то при открытии файла в текстовом редакторе Notepad++ и выборе синтаксиса Python, вся сохраненная информация будет разбита на блоки. MyBase.py открытый в Notepad++ Для вывода данных из созданной базы знаний используем команду «%pycat» и указываем имя файла «C:Users … DocumentsMyBase.py», включив в него полный путь места хранения. Пример: Для того чтобы не набирать команды вручную, создадим функцию, которая будет создаваться при каждом запуске Jupyter Notebook и выводить краткую памятку о командах и месте расположения базы. В папке «~ .ipythonprofile_defaultstartup» создаем файл в формате «.py» с функцией: Результат выполнения функции «MyB()» Создание такой базы предоставляет возможность её наполнять и обращаться к ней в моменте написания скрипта, что в дальнейшем должно исключит временные затраты на повторный поиск уже ранее написанного кода. Знаю, что кроме «горячих клавиш», «расширений» и «магических команд», есть и другие способы по упрощению работы в Jupyter Notebook. Поэтому предлагаю в комментариях собрать как можно больше вариантов, подходящих под эту тему. Всем спасибо кто уделил свое время на прочтение и отдельное тем, кто поделится своим опытом. Источник: newtechaudit.ru Комментарии: |
|