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

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

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

Автоматизация

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

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

Что стоит автоматизировать? Да что угодно. Вот лишь несколько сценариев.

  • Автоматизация утренних новостей.
  • Отправка электронных писем.
  • Автоматизация отчетов Excel.
  • Сообщения в WhatsApp.
  • Tinder.

Вот как я использовал Python для отправки сообщений в WhatsApp.

Изображение автора

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

Если вы еще не определили для себя отправную точку, стоит начать с веб-автоматизации. Существует множество сайтов, которые можно автоматизировать с помощью одной библиотеки Python  —  Selenium.

Веб-скрейпинг

Веб-скрейпингом называется сбор данных с сайтов. Это навык, которым должны обладать аналитики данных и специалисты по исследованию данных. Но его можно использовать в любой области, где есть потребность в данных.

Веб-скрейпинг  —  это техника, которая заключается в создании скрейперов (автоматических ботов), извлекающих миллионы точек данных из интернета. Это похоже на копирование данных с сайта и последующую вставку их в электронную таблицу. Однако, если на выполнение такой задачи вручную могут уйти часы, то веб-скрейпер справится за пару минут (или секунд).

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

Вот как выглядит этот процесс (все действия выполняются ботом, данные автоматически извлекаются и печатаются в текстовом редакторе Python).

Изображение автора

В Python можно скрейпить сайты с помощью таких библиотек, как Beautiful Soup, Selenium и Scrapy.

  • Beautiful Soup  —  простая в освоении библиотека, но у нее много ограничений. 
  • Selenium  —  это библиотека для автоматизации веб-процессов, которая может скрейпить сайты на JavaScript, но особой скоростью не отличается.
  • Scrapy  —  надежный фреймворк со множеством функциональных возможностей, который работает быстрее, чем две другие библиотеки.

Анализ данных и наука о данных

Данные  —  одна из самых ценных элементов интернета. Некоторые даже называют данные “новой нефтью XXI века”.

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

При наличии такого количества данных растет спрос на профессионалов, способных работать с ними и извлекать из них пользу. Именно здесь в игру вступают аналитики и специалисты по исследованию данных.

При анализе данных Python помогает в процессах их очистки и обработки, а также при создании визуализаций. Для этого используются конкретные библиотеки Python  —  Pandas, Numpy, Matplotlib и Seaborn.

Изображение автора

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

Информация об использовании Python в науке о данных, изложенная в 5-минутном видео:

Поскольку машинное обучение часто применяется в науке о данных, следует изучить sklearn  —  базовую библиотеку для машинного обучения на Python. Она является основой для других продвинутых библиотек Python, таких как TensorFlow и Keras.

Вот примеры моделей, которые можно построить с помощью машинного обучения:

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

Веб-разработка

С помощью Python можно даже создать собственный сайт!

У Python есть несколько фреймворков, таких как Flask и Django, которые позволяют разрабатывать бэкенд сайта. Конечно, для создания фронтенда все равно придется использовать HTML, CSS и JavaScript. Однако вам не о чем беспокоиться, поскольку HTML  —  очень простой язык, а использование Bootstrap позволит не создавать код CSS и JavaScript с нуля.

Многие сайты используют Python для разработки бэкенда, например Reddit.

Машинное обучение и искусственный интеллект

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

Для этого одного Python недостаточно. Здесь потребуются знания по линейной алгебре, исчислениям и многим другим областям. При этом в Python можно использовать такие высокоуровневые библиотеки, как Numpy, Pandas, PyTorch и TensorFlow, которые возьмут на себя всю математическую работу, связанную с моделью машинного обучения. Ваша задача будет заключаться в том, чтобы понять результаты и принять наилучшее решение, используя аналитические навыки.

Вот наиболее популярные реализации машинного обучения:

  • самоуправляемый автомобиль Google;
  • системы рекомендаций от Amazon, YouTube и Netflix;
  • обнаружение мошенничества.

Конечно, это продвинутые приложения. Чтобы погрузиться в машинное обучение и искусственный интеллект, нужно иметь прочную основу в исчислении, линейной алгебре и знать библиотеки Python, такие как NumPy, Pandas, Matplotlib и PyTorch.

После ознакомления с основами машинного обучения можно изучать более продвинутые библиотеки Python, такие как TensorFlow и Keras.

Как только вы приобретете базовые навыки, перед вами откроются безграничные просторы!

Вы можете использовать эти знания для специализации в более продвинутых темах, таких как обработка естественного языка (NLP), искусственный интеллект (AI) и глубокое обучение (DL), и даже бросить вызов самому себе, решая проблемы беспилотных автомобилей!

Чего не следует делать с Python

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

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

Разработка игр

В Python есть библиотеки для создания игр, например Pygame. Однако это базовая библиотека для простых разработок вроде “Змейки”, но когда дело доходит до создания надежной игры со множеством функций, Pygame недостаточно.

Если вы серьезно относитесь к разработке игр, освойте такой язык, как C++. Это самый популярный язык для создания игровых движков с должным уровнем графического дизайна, моделей физической среды, звуковых эффектов и игровых ботов, управляемых искусственным интеллектом.

Другие языки, рекомендуемые для разработки игр: C#, JavaScript и Java.

Десктопные приложения

В Python есть библиотеки для создания приложений с графическим интерфейсом пользователя (GUI). Одна из них  —  Tkinter. Это стандартный графический интерфейс Python, позволяющий создавать приложения, подобные приведенному ниже.

Как и при разработке игр, такие языки, как C++, C# и Java, являются более популярными для создания таких приложений.

Читайте также:

Читайте нас в TelegramVK и Дзен


Перевод статьи Frank Andrade: Here’s Everything You Can Do With Python (And What You Shouldn’t)

Предыдущая статьяОт джуниора до мидла: 7 советов для фронтенд-разработчиков
Следующая статьяКак выбрать подходящую версию Node.js?