Кто из вас знает комик-группу Монти Пайтон ? Названный в честь их телешоу, язык Python такой же интересный, веселый и не грузящий. Разработчики Dropbox использовали Python , когда создавали серверную часть и десктопное приложение, а теперь этим инструментом пользуются более 500 млн людей . На Python пишут в Google, Facebook, Netflix, Quora, Reddit и других крупных компаниях .
Примеры известных компаний, активно использующих Python
В этом материале, подготовленном нами при поддержке факультета Python-разработки GeekBrains, мы разберемся, с чем связана такая популярность языка и как выучить Python.
У Python последовательный ясный синтаксис и простой подход к модульной архитектуре. Язык является высокоуровневым – многие задачи Python «берет на себя». То, что в других языках занимает 10 строчек кода, в Python часто уже реализовано в виде готового решения – одной из эффективных функций стандартной библиотеки.
Это одна из множества причин, почему Python повсюду: в веб-разработке и анализе данных, серверных и десктопных приложениях, бизнес-инструментах и научных исследованиях. Язык портируется почти на все существующие платформы – от мобильных гаджетов до крупных вычислительных узлов.
Еще одна мощно развивающаяся сфера – машинное обучение . Например, извлечение искусственным интеллектом смысла из текстов, написанных на естественном языке или генерация изображений . Популярность языка в этой области связана с большим количеством библиотек для анализа данных .
На Python пишут скрипты для автоматизации рутинных процессов сбора данных с веб-страниц и вычленения паттернов в больших корпусах текстов. Набор Python-скриптов может автоматизировать рутинные задачи SEO-специалиста или собрать координаты геолокаций.
Python применяется даже в разработке игр : в Sims 4 для внутриигрового моддинга, а в Civilization IV – для создания собственных модификаций игры.
Ныряем в волшебный мир Python
Конечно, становление разработчика начинается с изучения языка. Материалы по ключевым темам Python приведены в публикации Программирование на Python: от новичка до профессионала. Фактически это готовый план к изучению основных структур языка.
Не будет лишним пройтись по отдельным особенностям языка и более сложным темам:
Источник: xkcd
Для продвинутой разработки понадобятся знание стандартной библиотеки Python. По многим модулям стандартной библиотеки на proglib.io есть увлекательные инструкции:
(о модулях time, calendar, datetime)
(модуль heapq) (модуль pickle)
В большинстве этих публикаций есть приложения в виде блокнотов Jupyter – не придется копировать программы по кусочкам.
Книги по Python
Книг по Python много, топ-3 для хорошего старта:
️ Бесплатные онлайн-курсы по Python
- – краткий бесплатный курс на английском языке. Экспресс-формат подойдет тем, кто хочет поскорее приступить к практике. – курс на русском языке с сертификатом по итогам обучения. Базовые знания + подготовка среднего уровня. Около 40 часов. – формат видеоуроков на русском языке. Для тех, кто любит смотреть, а не читать.
Наконец, более 70 бесплатных русскоязычных онлайн-курсов по Python и связанным технологиям можно найти в суперподборке.
️ Технологии, языки, первые проекты
Описания требований в вакансиях не ограничиваются самим языком. Вместе с уверенным знанием языка нужно обладать и другими навыками. Рассмотрим несколько популярных.
Базы данных. Почти каждое из направлений использования Python требует умений работы с базами данных. О том, как связать Python и реляционные базы данных SQLite, MySQL и PostgreSQL, Библиотека программиста рассказывала в статье Как подружить Python и базы данных SQL. Чтобы разобраться с самим языком запросов, есть замечательный интерактивный тренажер по SQL.
Веб-разметка. Кроме баз данных пригодится знать языки веб-разметки HTML и CSS. Это нужно не только в веб-разработке, но и в анализе данных – для понимания процесса парсинга страниц.
JS. Еще один must have – JavaScript. В сочетании с JS у Python появляются суперсилы – вместе они умеют больше. Зная один язык, проще понять другой. Эта концепция освещена в статье JavaScript для Python-программистов.
Linux. Большинство удаленных серверов, с которыми придется работать, построены на Linux. Знание Linux существенно расширит ваши возможности в выборе направления.
Источник: xkcd
Git. Независимо от типа разработки, вам потребуется система управления версиями кода. Система контроля версий позволяет хранить несколько версий одного и того же документа, возвращаться к более ранним версиям, определять, кто и когда сделал изменение. Наиболее популярная среди таких систем – Git, а самый популярный сайт для удаленного хранения кода – GitHub. Его м ожно использовать не только для рабочих проектов, но и учебных – научитесь работать с системой как можно раньше. Активность на GitHub положительно скажется на оценке вашего портфолио.
Python – универсальный язык. Хотя большинство Python-разработчиков трудятся в сферах веб-разработки и анализа данных, в менее крупных направлениях работы тоже хватает. Внимательно изучите текущее состояние рынка и то, какие технологии соответствуют интересным для вас вакансиям.
Что по работе и зарплате?
На момент публикации материала на hh.ru открыто 6 978 вакансий, связанных с Python: Junior Python разработчик, инженер по Big Data, стажер по анализу данных, тестировщик профильного ПО и т. д. Кто знает, может, ваше неординарное мышление подарит миру новые профессии?
Чем больше область знаний и ответственность, тем выше заработная плата. В 55 вакансиях из списка зарплата превышает 335 тыс. руб. Как вам? По статистике того же hh.ru минимальная заработная плата разработчика Python составляет 75 тыс. руб.
Удачи и упорства!
Не все привыкли учиться дистанционно, многим нужна поддержка в новом формате обучения. Как расставлять приоритеты, планировать загрузку и прочее.
Факультет Python-разработки онлайн-университета GeekBrains сделали ребята, которые когда-то были на вашем месте. Профессионалы, которые проанализировали всю доступную информацию, поняли, что нужно для успеха, и включили в программу многие темы из перечисленных в этом материале. Компания настолько уверена в своей учебной программе, что по итогам успешного прохождения курсов гарантирует трудоустройство.