В этой статье рассказываем, с чего начать изучать Python, как научиться на нем программировать и можно ли выучить язык по играм.
- Где используется Python
- Python в Data Science
- Что нужно, чтобы начать программировать на Python
- Что еще нужно знать
- Сколько времени нужно, чтобы выучить Python
- Полезные материалы для изучения Python
- Что дальше
Python — высокоуровневый язык с динамической типизацией. Это значит, что код на нем прост для чтения и понимания, а разработка быстрая, так как Python сам классифицирует вводимые данные.
Посмотрите, как можно вывести на экран фразу «Hello, World!» в одну строчку с помощью одной понятной команды:
print('Hello, World!')
И как это можно сделать с помощью языка Java:
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Python также известен своей философией — правилами, которые разработчики стараются соблюдать при написании кода. Они сформулированы в списке из 19 пунктов под названием «The Zen of Python». Вот несколько правил из этого списка:
- Явное лучше, чем неявное
- Простое лучше, чем сложное
- Читаемость имеет значение.
У Python есть более сотни библиотек кода — наборов инструментов для решения программистских задач. Также есть много фреймворков: возможно, вы что-то слышали о Django, Pyramid или Flask. Каждый из этих инструментов можно освоить, чтобы выйти на новый уровень программирования на Python.
Python применяют для создания и поддержания своих продуктов такие компании, как Google, Yandex, Spotify, Microsoft, Pinterest, Quora, Intel и другие.
Где используется Python
Python — самый популярный язык программирования по данным индекса TIOBE на ноябрь 2023 года. Востребованность Python можно объяснить тем, что его применяют во многих сферах: веб-разработка (чаще всего серверная часть), машинное обучение и анализ больших данных.
Также на Python создают:
- Видеоигры
- Десктопные приложения
- 3D-графику
- Программ для обработки изображений, видео и аудио.
В сфере мобильной разработки язык Python используют очень редко.
Python в Data Science
Python — главный язык программирования для работы с анализом данных. Python любят в Big Data за счет гибкости и скорости освоения.
В анализе данных чаще работают математики, финансисты или даже маркетологи, а не «чистые» программисты. Им гораздо проще работать с Python, чем с более сложными Java или C.
За счет встроенного интерпретатора этот язык программирования позволяет быстро проверять гипотезы и моментально получать результаты.
Тем, кто хочет работать в Data Science, потребуется выучить основы Python и несколько профильных библиотек:
- Pandas — нужна для сбора и структурирования данных. Библиотека умеет извлекать информацию из баз данных и таблиц, превращая разрозненные объекты в индексированные массивы. Содержит инструменты визуализации.
- NumPy — используют для расчетов. Позволяет индексировать, умножать и добавлять массивы, разбивать их на секции и менять форму. Есть инструменты для вычисления по формулам линейной алгебры.
- Matplotlib — для визуализации данных. Помогает создавать графики, диаграммы, 2D-фигуры и встраивать их в большинство популярных приложений и сервисов.
- Statsmodels — для статистического анализа. Помогает использовать в Python формулы из языка R. С ее помощью проводят одномерный и двумерный анализ данных, решают сложные математические задачи и занимаются машинным обучением.
Что нужно, чтобы начать программировать на Python
Расскажем об основных особенностях этого языка и о том минимуме, который нужно знать, чтобы написать свое первое приложение на Python.
Установить IDE
Программисты пишут код в интегрированной среде разработки — IDE, которая включает в себя редактор кода, инструменты для его выполнения и отладки, а также систему контроля версий.
Среда разработки помогает разработчику ориентироваться в коде и искать в нем ошибки. Самые популярные IDE для Python: Python IDLE, PyCharm, Spyder, Thonny.
Еще можно установить редактор кода — это более легковесная программа, аналог текстовых редакторов. Она сохраняет проекты в правильном расширении, автоматически проверяет отступы в коде и подсвечивает синтаксис. Самые популярные редакторы кода для Python: Visual Studio Code, Sublime Text, Vim.
Также существует онлайн-IDE, с помощью которой можно писать код на Python прямо в браузере. Replit подойдет для первого знакомства с Python и создания небольших проектов.
Изучить базовый синтаксис
Синтаксис — это набор правил, по которым разработчики пишут код на любом языке программирования. Основа, без которой невозможно программировать.
Многие хотят начинать изучение программирования с Python, потому что у этого языка достаточно простой синтаксис. Код на нем можно понять без особых знаний за счет лаконичности языковых конструкций.
Вот примерный список тем, которые нужно изучить и понять перед тем, как начать кодить на Python:
- Строки — как их выводить, извлекать из них символы.
- Переменные и типы — для чего они нужны, как облегчают разработку.
- Операторы — какие они бывают в Python и как работают.
- Условия — что такое условные конструкции и как их задавать.
- Циклы — для чего нужны и как использовать.
- Структуры данных — для чего используют, сколько всего структур и какие они бывают.
- Функции — в чем особенность, как их вызывать и где искать документацию по ним.
- Классы и объекты — что это такое и как они обозначаются.
Давайте разберем пару базовых тем.
Списки
Список — это структура данных, которая используется для хранения коллекции элементов в упорядоченной последовательности. Эти элементы могут быть разного типа: числа, строки, другие списки и так далее. Список создается с использованием квадратных скобок []
, а элементы внутри списка разделяются запятыми.
Когда мы создаем список, в памяти компьютера появляется область — контейнер, в котором хранятся только ссылки на различные элементы данных.
Содержимое списка не статично, его можно изменять. Этим он принципиально отличается от строки или числа. Элементы списка можно удалять, добавлять и заменять.
Вот пример списка:
a = ['dog', 16, True]
Наш список содержит строку, число и булево значение.
Со списками можно проводить различные операции:
- Элементы в списках можно заменять. Для этого нужно обратиться к нему по индексу.
- Списки можно объединять. Для этого используют оператор
+
. - Элементы в Python можно перебирать при помощи циклов
for
иwhile
. - Списки можно сравнить друг с другом, получив в ответ булево значение —
False
илиTrue
.
Строки
Строка — последовательность данных. В прошлом примере слово 'dog' — это строка. Класс такого объекта называется str
. Строка — это любая упорядоченная последовательность символов. Ее используют, чтобы хранить или выводить текстовую информацию.
Для создания строк в Python используют одинарные или двойные кавычки. Начинающим разработчикам стоит запомнить правило последовательности. В одном проекте нужно выбрать либо одинарные, либо двойные кавычки, придерживаясь единообразного стиля. Это повышает читаемость кода.
Строки в Python можно объединять при помощи математического оператора +
. Но лучше использовать вместо него .join()
.
В первом случае это выглядит так:
a1 = 'Я учусь'
a2 = 'писать код на Python'
а1 + а2
>>> 'Я учусь писать код на Python'
Во втором:
''.join([а1, а2])
>>> 'Я учусь писать код на Python'
Кавычки тут нужны для обозначения строки-соединителя. В этом примере она пустая, но может содержать в себе пробел или другой символ.
Использование .join()
вместо математического оператора делает код лаконичнее и производительнее. Это имеет смысл, когда строк много, а не всего две, как в нашем примере.
Для поиска по текстовой информации используют регулярные выражения — regex
. Они позволяют «вытащить» из строк нужные данные. По этому принципу, например, работает поиск в Word по документу.
У регулярных выражений есть свой синтаксис:
.
— заменяет любой символ;\
— экранирует, превращая спецсимволы в обычные символы;[…]
— любой символ, указанный в скобках, можно обозначить как перечислением, так и диапазоном;|
— обозначает «или», то есть позволяет искать или один или другой символ;[^…]
— ищет любой символ, кроме указанного в скобках;$
— конец строки;^
— начало строки.
Читайте также: Программирование на Python особенности обучения, перспективы, ситуация на рынке труда
Объектно-ориентированное программирование
Объектно-ориентированное программирование (ООП) — это парадигма разработки, то есть набор правил и принципов, которые нужно соблюдать программисту.
Знакомство с ней необходимо для того, чтобы понимать основы. Без знания принципов ООП невозможно стать квалифицированным разработчиком.
Главный принцип ООП: все программы состоят из объектов. Объект — сущность, у которой есть набор действий и определенные данные. Перед написанием кода программисту нужно мысленно выделить основные объекты, потом наполнить их данными и прописать доступные действия.
Структура объектно-ориентированного программирования:
- Объект — отдельный элемент с собственными функциями и характеристиками.
- Класс — шаблон для объектов. Например, на сайте-картотеке фильмов и сериалов классом будет карточка фильма с пустыми полями, а объектами уже заполненные карточки с указанным названием, годом и жанром.****
- Метод — функция, связанная с конкретным объектом и работающая с его данными. Например, метод в нашем примере позволит вывести имена актеров или вывести все фильмы этого же режиссера.
- Атрибут — данные объекта. У класса описывают будущие атрибуты, а в объекте заполняют их конкретными данными. Например, в классе «фильм» есть атрибуты-поля «Режиссер» и «Год выхода». А в объекте, определенном фильме, будут конкретные фамилии и даты.
Что еще нужно знать
Программирование — творческая профессия, поэтому у разработчика есть определенная свобода действий. Написать код можно разными способами, и он будет работать.
Начинающие программисты предпочитают самые простые способы. А опытные разработчики стараются сделать свой код красивым и лаконичным.
Например, выше мы уже писали, почему стоит объединять строки при помощи .join(). И это не единственный способ оптимизации.
Что еще нужно знать:
- Декораторы — функции, о которых обязательно спросят на собеседовании. При помощи декоратора можно добавить к уже существующей функции новые возможности, не меняя исходный код.
- Случайные числа — числа из определенного диапазона с некоторой вероятностью выпадения. Их используют для того, чтобы имитировать закон распределения случайной величины. В Python для этого используют библиотеку
random
или модульnumpy.random
. - Рекурсия — функция, вызывающая себя саму. Ее используют для выполнения последовательности одинаковых действий. Например, если нужно узнать сумму чисел от 1 до N, есть два способа. Первый — итерационный, в котором прописывают каждый шаг при помощи цикла. А второй — рекурсионный, он оптимальнее для решения сложных задач.
- Рефакторинг кода — процесс редактирования и оптимизации. Он необходим для того, чтобы улучшить читабельность, сделать код понятнее и красивее. В процессе рефакторинга удаляют неиспользуемые переменные, ненужные и отладочные команды, избавляются от ошибок форматирования.
Сколько времени нужно, чтобы выучить Python
Судя по опыту многих разработчиков, базовые знания по Python можно получить чуть меньше, чем за месяц, если заниматься до пяти часов в неделю.
Если вы хотите стать Python-разработчиком, то готовьтесь уделять учебе от десяти часов в неделю. Занимаясь такое количество времени, вы сможете освоить Python на уровне джуна примерно в течение года.
Основы языка можно выучить самостоятельно с помощью книг, видеолекций и онлайн-курсов. Но на более поздних этапах обучения рекомендуем вам обращаться по всем вопросам к опытным разработчикам или менторам.
Полезные материалы для изучения Python
Первым делом стоит изучить документацию языка. Она дает представление о работе языка и показывает примеры его использования. Это как огромная библиотека или справочная, в которую разработчик может прийти за нужным документом или ответом в спорных ситуациях. Документацию Python можно посмотреть на официальном сайте.
Решайте задачи
Существует много разных сайтов, на которых питонисты выкладывают и решают задачи по Python. Это, например:
- LeetCode
- Codewars
- Exercism
- okpython.net
- Проект Эйлера
- CheckiO
Платформа Kaggle подойдет для тех, кто выбрал для дальнейшего развития сферу машинного обучения. На ней проходят групповые соревнования, где организаторы дают разные задачи по Data Science. Участники решают задачи с помощью языка Python. Лучшие решения можно будет положить в портфолио.
Участвуйте в играх
Изучать Python по играм не менее эффективно, чем штудировать теорию курсов и учебников. На игровых турнирах можно прокачиваться в написании кода и даже знакомиться с единомышленниками.
В какие игры можно поиграть:
- Code Monkey — пожалуй, самая популярная игра по Python. В ней нужно помогать обезьянке собирать бананы с помощью цепочки команд.
- CodeCombat — игра учит базовым навыкам программирования и написанию кода. В ней нужно захватывать земли и уничтожать врагов.
- Codebattle — это платформа, на которой проходят игры и турниры для разработчиков. Они развивают алгоритмическое мышление и дают полезные связи с разработчиками. Хекслет проводит соревнования разработчиков разных уровней на Codebattle каждый месяц — участвуйте, чтобы приобрести новый опыт и разнообразить свое обучение.
Читайте книги
Есть много хороших книг по изучению Python. Будет здорово, если вы прочитаете некоторые из них:
- Пол Бэрри «Изучаем программирование на Python»
- Марк Лутц «Изучаем Python»
- Эрик Мэтиз. Изучаем Python. Программирование игр, визуализация данных, веб-приложения».
Также у Хекслета есть свой список рекомендованной литературы. Ознакомьтесь с этими книгами — они полезны для программистов любых направлений.
На YouTube-канале Хекслета есть рубрика «Публичные собеседования», в которой наши студенты проходят учебные интервью у специалистов разных компаний. Посмотрите видео из этой рубрики, чтобы иметь понимание о том, как проходят собеседования и какие знания нужны разработчикам, чтобы успешно их проходить.
Если в процессе обучения вы почувствуете, что вам не хватает поддержки единомышленников и более опытных разработчиков, присоединяйтесь к Хекслет Комьюнити. Там вы сможете обсуждать трудные моменты в учебе, получать помощь и поддержку.
Что дальше
Если хотите быстро и недорого попробовать работать с Python под руководством наставника — запишитесь на наши подготовительные курсы. Двухнедельный интенсив позволит получить крепкую базу знаний и написать свою первую программу на Python.
Или проходите бесплатные курсы по Python в Хекслете.