Эта книга поможет освоить Python. А если повезёт, раз и навсегда покончить с рутиной.
vlada_maestro / shutterstock
Кандидат философских наук, специалист по математическому моделированию. Пишет про Data Science, AI и программирование на Python.
Эта книга по Python отличается от других руководств для новичков тем, что автор не просто разбирает примеры кода, а предлагает сразу начать писать программы, которые делают реально полезные вещи. Например, собирают для вас данные в интернете или обрабатывают изображения.
Подробно объясняется каждый шаг, и есть много информации для “чайников”: как установить, что сделать и где спросить, если что-то не работает. Объём материала почти 600 страниц, освоение займёт приблизительно 35–40 часов.
Это не учебник для будущих кодеров, которые планируют заниматься коммерческим программированием, а руководство по решению конкретных задач и автоматизации рутины. Поэтому в примерах кода есть отступления от правил и в пользу понятности и простоты.
Книга полезна тем, кто:
- хочет облегчить себе жизнь с помощью Python;
- не имеет опыта в программировании.
Что понадобится для работы:
- Компьютер с интернетом.
- Школьные знания арифметики.
- Умение пользоваться поиском, скачивать и устанавливать программы.
- Упорство и вдохновение (шутка — упорства хватит за глаза).
Что в итоге получит читатель:
- Знание базового Python.
- Несколько программ для портфолио.
- Понимание, нравится ли вам программировать.
- Уважение коллег и домочадцев.
- Вы ощутите себя программистом. Русский перевод сделан с издания 2016 года, поэтому некоторые ссылки уже не работают. Ответы на часть вопросов придётся искать самостоятельно, как настоящему программисту.
- В книге есть контрольные вопросы. Если вам понравится программировать, они помогут закрепить знания. И вполне вероятно, что попадутся на собеседовании — эйчары не всегда выдумывают их сами. Как в школе: “Решайте обязательно, это будет на контрольной”.
Кстати, ответы на вопросы тоже есть — в конце книги, как и полагается. (Приложение В).
Заведите тетрадку, документ на компьютере или в облаке — для конспекта. Когда будете вспоминать что-то из материала книги, старайтесь опираться именно на него.
Прежде чем начать работать:
- Посмотрите оглавления. Их два: краткое и подробное. Краткое даст полную карту книги, а по подробному удобно искать конкретную тему или вопрос.
- Отметьте заинтересовавшие вас главы. Любопытно ведь, как автор предлагает решить важную для вас задачу. Например, отправку sms и email, работу с Excel или что-то ещё.
- Прочитайте введение, оно прекрасно: “Эта книга предназначена не для них (высокооплачиваемых программистов). Она предназначена для всех остальных”.
- Пролистайте отмеченные главы, а также приложения А и Б — про установку модулей и запуск программ.
Приложение В (ответы на вопросы) смотреть нельзя — ни под каким предлогом! Мы вас предупредили.
Чтобы понять, годится ли вам эта книга, рассмотрим подробнее восьмую главу, которая называется “Чтение и запись файлов”.
Читатель к этому времени уже прошёл шесть глав первой части, посвящённой основам программирования: установил Python, умеет работать в , искать по шаблону, а также создавать, редактировать и запускать файлы с расширением .py. Теперь пришло время узнать, как использовать язык для создания, чтения и хранения других файлов на жёстком диске, а также написать несколько полезных программ.
Книга написана в 2016 году, поэтому автор приводит примеры для Windows 7 и Python 3.4. У меня всё прекрасно работало и на более свежих версиях системы и интерпретатора.
Глава начинается с рассказа про модули os и os.path, обратную косую черту, создание новых папок и учит определять размеры файлов и содержимое папок с помощью os.listdir ():
Дальше — чуть сложнее. Теперь нам предстоит с помощью функции “красивой печати” pprint.pformat () создать свои собственные модули, которые можно будет вызывать командой import.
Но это было только вступление, а теперь мы готовы кодить проект.
Представьте, что вы — преподаватель, которому нужно провести контрольную на знание столиц штатов в США. Билеты должны быть составлены так, чтобы вопросы в них располагались в случайном порядке. По идее, это помешает списывать.
Решаем задачу с помощью Python. Список будущих фич немного пугает: требуется создать и 35 билетов, и 50 вопросов со множественным выбором для каждого билета. Вместе с правильным ответом нужно дать три случайных неправильных и записать это всё в 35 текстовых файлов. А ещё ключи ответов, которые тоже будут в отдельных файлах.
Но оказывается, нам вполне по силам:
- сохранять названия штатов в словаре — умеем;
- вызывать методы open (), write (), close () для текстовых файлов — без проблем;
- использовать функцию random.shuffle () — тоже не бином Ньютона;
- записывать содержимое в файлы — легко!
Итак, за четыре шага мы напишем программу, которая всё это может делать.
Что ещё нас ждёт в этой главе:
- работа с многоразрядным буфером;
- поиск с помощью regexp ;
- создание программы Mad Lib, которая читает текстовые файлы и позволяет добавлять произвольный текст в нужные места (например, в тесты по грамматике).
В итоге, чтобы выполнить последние два задания, нам потребуются все полученные в главе знания. А ещё будет нужно ответить на контрольные вопросы — они есть после каждой главы.
Если что-то всё-таки не взлетело: просто запишитесь на наш курс Python-разработчик и станьте востребованным профессионалом. А книгу потом можно будет передарить, разыграть или даже продать на аукционе с вашим автографом — потому что мы в вас верим!
Учись бесплатно: вебинары по программированию, маркетингу и дизайну.
У каждого есть рабочие задачи, не слишком важные и не сильно-то связанные с профессией, но такие, от которых не отвертишься. Одноразовое выполнение этих задач не составляет большого труда. Однако когда они становятся постоянными и начинают отнимать много времени, их нужно автоматизировать.
Автоматизация этих задач позволит перестать тратить время на рутину. Вы сможете сосредоточиться на действительно важных вещах, что значительно повысит эффективность вашей работы. Кроме того, вы примените на практике все свои знания о Python и даже узнаете что-то новое.
Давайте рассмотрим три проекта Python, которые помогли нам автоматизировать некоторые повседневные задачи на работе и, надеемся, помогут и вам!
Автоматизация отчетности в Excel
Подумайте обо всем, что вам нужно сделать для создания отчетов в Excel. Вы используете формулы Excel, создаете сводную таблицу, диаграммы и форматируете рабочие листы.
Сделать это один раз легко, но когда вам приходится делать это с определенной периодичностью, задача усложняется. К счастью, Python может помочь нам автоматизировать такие задачи. В следующий раз для создания отчета в Excel потребуется лишь пара щелчков мышью.
Подходы к решению
Для автоматизации Excel-отчетов можно использовать openpyxl и Pandas. Подробную инструкцию можно почитать в статье «Автоматизация отчетов в Excel с помощью Python». Обе библиотеки прекрасны и крайне полезны. Но у этого подхода есть недостаток: новичкам может потребоваться некоторое время, чтобы изучить openpyxl. А между тем, эта библиотека пригодится только для работы с Excel.
К счастью, есть более простой подход к автоматизации отчетов в Excel. Нам нужно просто установить библиотеку Python mitosheet (также известную как Mito). Эта библиотека позволяет нам группировать данные и вычислять сводную статистику с помощью интуитивно понятного интерфейса, подобного Excel. Самым приятным будет то, что Mito генерирует код для каждого редактирования. Поэтому мы сможем увидеть код Python, соответствующий каждому редактированию.
В приведенном ниже примере вы можете увидеть, как мы использовали интерфейс mitosheet для создания сводной таблицы. После создания сводной таблицы код создается автоматически. Удобно, не правда ли?
Чтобы автоматизировать создание сводных таблиц и другие задачи в Excel, необходимо установить библиотеку mitosheet. Для ее установки сначала откройте терминал и загрузите установщик Mito с помощью следующей команды:
python -m pip install mitoinstaller
Затем запустите установщик (выполнение этой команды может занять некоторое время):
python -m mitoinstaller install
Вот и все! Теперь вы можете значительно упростить себе жизнь с помощью mitosheet. Как создать свою первую сводную таблицу в Mito, можно узнать здесь.
Автоматизация визуализации данных
Большинство проектов по анализу данных заканчиваются презентацией, содержащей множество графиков. Раньше мы обновляли отчеты в Excel, а затем вручную создавали визуализации, такие как гистограммы, круговые и коробчатые диаграммы и т.д.
Однако это отнимает очень много времени, поэтому очень хотелось бы найти альтернативу. К счастью, в Python такая альтернатива есть. Существует пара библиотек, которые могут помочь нам автоматизировать построение визуализаций. Нам нужно будет только прочитать обновленные отчеты Excel с помощью Python, а все визуализации создадутся при запуске скрипта.
Решение
Чтобы автоматизировать визуализацию данных, сначала нам нужно написать код, создающий нужный нам график (желательно в файле Jupiter Notebook). Затем запишите, как должны выглядеть входные данные (файл Excel). Убедитесь, что имена столбцов, форма данных, тип данных и другие важные характеристики останутся такими же при следующем обновлении.
Python предлагает различные варианты для создания как стандартных, так и интерактивных визуализаций. Для этого можно использовать такие библиотеки, как Matplotlib и Seaborn. Кроме того, для создания интерактивных визуализаций вы можете использовать Pandas и Plotly.
Но изучение этих библиотек может занять у вас много часов. Здесь тоже может помочь Mito! Вы можете использовать библиотеку mitosheet для визуализации данных в пару щелчков мыши. Кроме того, автоматически будет генерироваться код на Python. Этот код можно использовать для автоматизации создания визуализации данных для будущих задач.
Давайте посмотрим, как это работает.
Здесь мы используем библиотеку mitosheet для создания гистограммы набора данных Netflix. Нам нужно только выбрать столбец, нажать кнопку графика и — вуаля! График создан, а код сгенерирован автоматически.
Автоматизация работы с сайтами
Одна из скучнейших задач, которую приходилось выполнять каждому младшему аналитику данных (да и не только им), заключается в ежедневной загрузке файлов на сайт клиента. Шаги были довольно простыми: перейди на сайт X, нажми эту кнопку, выбери вариант из раскрывающегося списка и нажми кнопку «Загрузить».
Это занимает около двух минут. Только вот эти шаги приходится повторять сотни раз в течение недели. Поэтому хорошо было бы автоматизировать эту задачу. Это можно сделать, например, с помощью Selenium. Это инструмент для управления браузерами, например Chrome, при помощи Python.
Чтобы автоматизировать любую работу с сайтом с помощью Python, сначала подумайте обо всех шагах, которые вы обычно выполняете на сайте. Ваша задача может включать нажатие на кнопки, выбор элементов в раскрывающихся списках, введение текста, прокрутку вверх или вниз, вход на страницу и выход и так далее и тому подобное.
После того, как все задачи перечислены, реплицируйте все шаги в Python с помощью Selenium. Вы можете поискать руководства по работе с данной библиотекой в YouTube. Кроме того, существуют разные туториалы по Selenium для начинающих. Вашей главной задачей будет создание бота в Selenium, который будет выполнять практически любую задачу на сайте, как если бы вы управляли им самостоятельно.
Пример туториала для начинающих
Заключение
Автоматизация избавляет нас от многих рутинных задач. В этой статье мы рассмотрели три проекта, связанных с автоматизацией:
- создание отчетов в Excel ,
- визуализация данных,
- работа с сайтами.
Мы познакомились с таким инструментом, как Mito. Его основное достоинство заключается в том, что он самостоятельно генерирует код, который вы можете использовать в дальнейшем для реализации похожих задач.
Надеемся, эта статья была полезной для вас. Успехов в написании кода!
Перевод статьи «3 Python Projects That Will Help Automate Your Life».