Изучаем Python за 6 месяцев. Подробный план обучения

Простой и красивый синтаксис, множество библиотек под самые разные задачи и большое комьюнити делают Python одним из самых популярных языков программирования на сегодняшний день, который активно используется в data science и машинном обучении, веб-разработке и других областях программирования.
Когда я начал изучать питон, у меня возникло несколько вопросов:
какие темы необходимо изучить;
насколько это будет сложно;
сколько это займёт времени;
где найти хорошие источники информации?
Вкратце, на мой взгляд, необходимо знать следующие темы:
стандартные типы данных;
работа с файлами;
объектно-ориентированное программирование (ООП);
полезные библиотеки типа itertools, collections и тому подобное.
Если вы прежде не занимались программированием, то поначалу будет сложновато, но потом мозги «настроятся» в нужное русло и будет нормально.
На этом преамбула окончена и переходим непосредственно к плану обучения.
Основы (3 месяца)
Предлагаю начать с прочтения книги Билла Любановича «Простой Python. Современный стиль программирования» (второе издание) чтобы иметь базовое представление о том, что такое программирование и как выглядит код на Python.

Далее переходим к курсам на платформе Stepik:
Очень хорошие курсы с морем задач, которые вас познакомят с основными типами данных, условиями, циклами, функциями и работой с файлами.
После следует приступить к плейлисту декораторы канала luchanos и для практики пройти на Stepik «Декораторы в Python»: часть 1 и часть 2.
Ещё по желанию можно пройти регулярные выражения: курс, учебник и практика.
Введение в алгоритмы (2 недели)
Вообще, о том, как шатать leetcode и проходить алгоритмические фиды на собесах – дело отдельной статьи, поэтому пока обойдёмся основами основ и здесь на сцену вступает небезызвестная книга Адитьи Бхаргавы «Грокаем алгоритмы».

Автору удалось сделать очень дружелюбное к новичкам пособие, из которого вы узнаете про алгоритмы поиска и сортировки, что такое рекурсия, динамическое программирование и многое другое – однозначно рекомендасьон.
Объектно-ориентированное программирование (3 недели)
Есть 2 хороших курса:
плейлист Python OOP канала JimShapedCoding;
курс Python ООП Олега Молчанова – лучшее объяснение из всех, что я видел.
Отсюда вы узнаете об устройстве объектной модели в Python, какие существуют парадигмы ООП, для чего применяются дескрипторы и многое другое.
Также параллельно с курсами было бы хорошо углубляться в пройденные темы и для этого есть неплохая книга «Object-oriented Python», Irv Kalb.

В отличие от курсов, в ней также уделяется внимание магическим методам и некоторым другим аспектам. Писать игры необязательно, как это делается в книге, но ознакомиться с ней стоит. В конце переходим к SOLID и по желанию к паттернам (плейлист и сайт).
Для практики переходим на codewars OOP: когда получится решать 5 кату, то можно двигаться дальше.
Конкурентность (2 недели и больше)
Для обеспечения быстрой и эффективной работы приложений, а также для обработки большого количества данных необходимо уметь пользоваться вычислительными ресурсами максимально эффективно, поэтому знания об основах конкурентности даже на начальном этапе будут большим преимуществом.
Основы многопроцессорности и многопоточности:
По асинхронному программированию есть 2 хороших плейлиста:
Параллельно с курсами лучше пользоваться книгой Мэттью Флауэра «Asyncio и конкурентное программирование на Python».

Отсюда вы узнаете о выполнении конкурентных запросов к базам данных, сочетании многопоточной обработки с asyncio, управлении подпроцессами и многом другом.
Тестирование кода (1 неделя)
Чтобы удостовериться в том, что написанный вами код выполняет именно тот функционал, который вы от него ожидаете, его необходимо уметь покрывать тестами хотя бы на базовом уровне.
Поэтому предлагаю перейти к плейлисту Pytest тестирование канала luchanos.
Ещё есть неплохая книга «Python Testing with pytest» (second edition), Brian Okken, с которой также желательно ознакомиться.

В качестве альтернативы Pytest есть неплохой плейлист Unittest in python канала Paris Nakita Kejser и книга Владимира Хорикова «Принципы юнит-тестирования» (примеры кода на C#).

Больше продвинутых тем (3 недели)
В принципе, может показаться, что всего вышеперечисленного уже достаточно, но для лучшего понимания устройства функций и классов, как работает сборщик мусора, в чем отличие итераторов от генераторов, как пользоваться библиотеками типа itertools, collections и т.д., ещё необходимо немного углубиться, и в этом нам помогут 2 книги:
«Python – к вершинам мастерства» (второе издание), Лусиану Рамальо.
«Dead simple Python», Jason C. Mcdonald.
Книги плюс-минус об одном и том же, однако в последней некоторые темы рассматриваются на немного более поверхностном уровне. За счёт этого она читается легче.
Какую из них выбрать? Лучше читать наиболее непонятные темы из обеих книг.
Best practices (1 неделя и больше)
После того, как вы изучите основные конструкции и возможности языка, не будет лишним и узнать об их эффективном использовании, и для этой цели есть хорошая книга «Effective Python. 90 specific ways to write better Python» (second edition), Brett Slatkin.

Солянка из лучших практик, показывающая как сделать код более лаконичным и эффективным с «питоновской» точки зрения.
Что в итоге
Занимаясь по 10 часов в день, на изучение всех вышеперечисленных тем уйдёт около полугода – это цифры из собственного опыта, так что можно их брать в качестве начального ориентира, однако, возможно, у вас будут другие результаты.
Что дальше
Дальше можно смело двигаться в выбранное вами направление: будь то веб-разработка с Django и Flask или же машинное обучение с Numpy, Pandas и Pytorch – полученных знаний хватит за глаза.
Дополнительные источники
«Знакомство с Python», Дэн Бейдер;
«Изучаем Python» (третье издание), Эрик Мэтиз;
«Изучаем Python» (пятое издание, 2 тома), Марк Лутц;
«Python Workout: 50 ten-minute exercises», Reuven M. Lerner;
«Изучаем программирование на Python» (второе издание), Пол Бэрри;
«Начинаем программировать на Python» (пятое издание), Тони Гэддис;
«Автоматизация рутинных задач с помощью Python» (второе издание), Эл Свейгарт;
Питонтьютор – небольшой курс по Python;
Python tutorials – ещё один неплохой курс по питону;
Python for Everybody – курс от университета Мичигана;
Изучаем Python – курс для начинающих от freeCodeCamp;
Добрый, добрый Python – обучающий курс от Сергея Балакирева;
Программирование на Python – курс начального уровня от института биоинформатики.
«Секреты Python Pro», Дейн Хиллард;
«Using Asyncio in Python», Caleb Hattingh;
«Beyond the Basic Stuff with Python», Al Sweigart;
«Python. Книга рецептов», Дэвид Бизли, Брайан К. Джонс;
«Профессиональная разработка на Python», Мэттью Уилкс;
«Паттерны разработки на Python», Гарри Персиваль, Боб Грегори;
«Чистый Python. Тонкости программирования для профи», Дэн Бейдер;
«Python Object-Oriented Programming» (fourth edition), Steven F. Lott, Dusty Phillips;
Intermediate Python – продолжение начального курса от freeCodeCamp;
Python: основы и применение – курс среднего уровня от института биоинформатики;
Программирование на Python – более продвинутый курс от Computer Science Center;
Параллельное программирование – ещё один видеокурс от Computer Science Center.
Ещё несколько полезных ссылок:
Real Python – куча статей по Python;
PEP 8 – руководство по стилю кода на Python;
The Elements of Python Style – ещё одно руководство по стилю кода;
Stack Overflow – известный сервис вопросов и ответов по программированию;
С чего начать изучение Python и как написать на нем первый код

Python — самый популярный язык программирования по данным индекса TIOBE на октябрь 2022 года. Востребованность Python можно объяснить тем, что его применяют во многих сферах: веб-разработка (чаще всего серверная часть), машинное обучение и анализ больших данных.
Также на Python создают:
- Видеоигры
- Десктопные приложения
- 3D-графику
- Программ для обработки изображений, видео и аудио.
В сфере мобильной разработки язык Python используют очень редко.
Python — высокоуровневый язык с динамической типизацией. Это значит, что код на нем прост для чтения и понимания, а разработка быстрая, так как Python сам классифицирует вводимые данные.
Посмотрите, как можно вывести на экран фразу «Hello, World!» в одну строчку с помощью одной понятной команды:
И как это можно сделать с помощью языка Java:
Python также известен своей философией — правилами, которые разработчики стараются соблюдать при написании кода. Они сформулированы в списке из 19 пунктов под названием «The Zen of Python». Вот несколько правил из этого списка:
- Явное лучше, чем неявное
- Простое лучше, чем сложное
- Читаемость имеет значение.
У Python есть более сотни библиотек кода — наборов инструментов для решения программистских задач. Также есть много фреймворков: возможно, вы что-то слышали о Django, Pyramid или Flask. Каждый из этих инструментов можно освоить, чтобы выйти на новый уровень программирования на Python.
Python применяют для создания и поддержания своих продуктов такие компании, как Google, Yandex, Spotify, Microsoft, Pinterest, Quora, Intel и другие.
Станьте востребованным Python-разработчиком На Хекслете есть обучение по профессии Python-разработчика. Пройдите его, чтобы изучить Python и фреймворк Django, разобраться в алгоритмах и структурах данных, а также получить поддержку от менторов и единомышленников.
С чего начать изучение языка Python
Определитесь с целью
Изучать любой язык программирования с нуля легче, когда вы понимаете, где применять полученные знания. От вашего выбора также зависит стек технологий, который вы будете использовать в будущем.

Разберитесь в синтаксисе языка
Синтаксис — это набор правил, по которым разработчики пишут код на любом языке программирования. Основа, без которой невозможно программировать.
Многие хотят начинать изучение программирования с Python, потому что у этого языка достаточно простой синтаксис. Код на нем можно понять без особых знаний за счет лаконичности языковых конструкций.
Вот примерный список тем, которые нужно изучить и понять перед тем, как начать кодить на Python:
- Строки — как их выводить, извлекать из них символы
- Переменные и типы — для чего они нужны, как облегчают разработку
- Операторы — какие они бывают в Python и как работают
- Условия — что такое условные конструкции и как их задавать
- Циклы — для чего нужны и как использовать
- Структуры данных — для чего используют, сколько всего структур и какие они бывают
- Функции — в чем особенность, как их вызывать и где искать документацию по ним
- Классы и объекты — что это такое и как они обозначаются.
Изучить основы языка вам поможет бесплатный курс «Python для начинающих» на проекте Codebasics. Обучение там начинается с азов, информация структурирована и подается от простого к сложному.
Читайте также: Программирование на Python: особенности обучения, перспективы, ситуация на рынке труда
Ознакомьтесь с документацией
Документация дает представление о работе языка и показывает примеры его использования. Это как огромная библиотека или справочная, в которую разработчик может прийти за нужным документом или ответом в спорных ситуациях. Документацию Python можно посмотреть на официальном сайте.
Как начать программировать на Python
Установите среду разработки
После того, как вы изучите синтаксис, попробуйте написать первый код. Это можно сделать в интегрированной среде разработки — IDE, которая включает в себя редактор кода, инструменты для его выполнения и отладки, а также систему контроля версий.
Среда разработки помогает разработчику ориентироваться в коде и искать в нем ошибки. Самые популярные IDE для Python: Python IDLE, PyCharm, Spyder, Thonny.
Еще можно установить редактор кода — это более легковесная программа, аналог текстовых редакторов. Она сохраняет проекты в правильном расширении, автоматически проверяет отступы в коде и подсвечивает синтаксис. Самые популярные редакторы кода для Python: Visual Studio Code, Sublime Text, Vim.
Также существует онлайн-IDE, с помощью которой можно писать код на Python прямо в браузере. Replit подойдет для первого знакомства с Python и создания небольших проектов.
Решайте задачи
Существует много разных сайтов, на которых питонисты выкладывают и решают задачи по Python. Это, например:
Платформа Kaggle подойдет для тех, кто выбрал для дальнейшего развития сферу машинного обучения. На ней проходят групповые соревнования, где организаторы дают разные задачи по Data Science. Участники решают задачи с помощью языка Python. Лучшие решения можно будет положить в портфолио.
Участвуйте в играх
Изучать Python по играм не менее эффективно, чем штудировать теорию курсов и учебников. На игровых турнирах можно прокачиваться в написании кода и даже знакомиться с единомышленниками.
В какие игры можно поиграть:
-
— пожалуй, самая популярная игра по Python. В ней нужно помогать обезьянке собирать бананы с помощью цепочки команд. — игра учит базовым навыкам программирования и написанию кода. В ней нужно захватывать земли и уничтожать врагов. — это платформа, на которой проходят игры и турниры для разработчиков. Они развивают алгоритмическое мышление и дают полезные связи с разработчиками. Хекслет проводит соревнования разработчиков разных уровней на Codebattle каждый месяц — участвуйте, чтобы приобрести новый опыт и разнообразить свое обучение.
Сколько времени нужно, чтобы выучить Python
Судя по опыту многих разработчиков, базовые знания по Python можно получить чуть меньше, чем за месяц, если заниматься до пяти часов в неделю.
Если вы хотите стать Python-разработчиком, то готовьтесь уделять учебе от десяти часов в неделю. Занимаясь такое количество времени, вы сможете освоить Python на уровне джуна примерно в течение года.
Основы языка можно выучить самостоятельно с помощью книг, видеолекций и онлайн-курсов. Но на более поздних этапах обучения рекомендуем вам обращаться по всем вопросам к опытным разработчикам или менторам.
Читайте также: Как я 10 лет проектировал мосты, а в 33 года стал Python-разработчиком в банке
Полезные материалы для изучения Python
Есть много хороших книг по изучению Python. Будет здорово, если вы прочитаете некоторые из них:
- Пол Бэрри «Изучаем программирование на Python»
- Марк Лутц «Изучаем Python»
- Эрик Мэтиз. Изучаем Python. Программирование игр, визуализация данных, веб-приложения».
Также у Хекслета есть свой список рекомендованной литературы. Ознакомьтесь с этими книгами — они полезны для программистов любых направлений.
На YouTube-канале Хекслета есть рубрика «Публичные собеседования», в которой наши студенты проходят учебные интервью у специалистов разных компаний. Посмотрите видео из этой рубрики, чтобы иметь понимание о том, как проходят собеседования и какие знания нужны разработчикам, чтобы успешно их проходить.
Если в процессе обучения вы почувствуете, что вам не хватает поддержки единомышленников и более опытных разработчиков, присоединяйтесь к Хекслет Комьюнити. Там вы сможете обсуждать трудные моменты в учебе, получать помощь и поддержку.
Станьте востребованным Python-разработчиком На Хекслете есть обучение по профессии Python-разработчика. Пройдите его, чтобы изучить Python и фреймворк Django, разобраться в алгоритмах и структурах данных, а также получить поддержку от менторов и единомышленников.
Изучите основы Python на Хекслете Запишитесь на подготовительный курс, чтобы изучить основы языка и попробовать программирование на практике.
Сколько времени требуется на изучение Python? (и прочие популярные вопросы про Python)
Python — очень универсальный язык. Он используется в самых разных проектах и многими крупными организациями, включая Facebook, NASA, Reddit и Amazon.
Крупным компаниям нравится его мощь и универсальность, поэтому можно ожидать, что популярность языка Python будет расти во всем мире. Вряд ли найдется такая техническая работа, в которой нельзя было бы применить язык Python, что сделает вас более ценным для любого работодателя или клиента.
Широкий набор библиотек Python значительно упрощает процесс кодирования, поскольку вы можете просто ввести действие из библиотеки в свой код.
Более того, поскольку Python является открытым исходным кодом, список библиотек и ресурсов постоянно растет. По мере роста популярности кодирования на Python пользователи будут находить все больше универсальных библиотек, которые помогут им писать больше кода за меньшее время и оптимизировать существующий контент.
Сложно ли изучать Python для начинающих?
Python можно считать языком программирования, удобным для начинающих, поскольку в нем приоритет отдается читабельности, что облегчает его понимание и использование. Его синтаксис имеет сходство с английским языком, что позволяет начинающим программистам, владеющим хотя бы базовым английским языком, легко погрузиться в мир разработки.
Python также является гибким, динамически типизированным языком, что означает отсутствие жестко установленных правил, а значит, он более интуитивен. Это также более щадящий язык, способный функционировать с некоторым количеством ошибок.
На самом деле, простота использования была одним из основополагающих принципов Python, когда он был создан в 1989 году Гвидо ван Россумом (и выпущен позже, в 1991 году).
Первоначальной целью Python было сделать программирование легким, так как основное внимание уделялось читаемости кода. Он также отличается своей гибкостью.
Он может работать на различных платформах, таких как Windows, Linux и Mac OS, и является программным обеспечением с открытым исходным кодом.
Поскольку читаемость и другие структурные элементы Python разработаны для простоты понимания, это отличный язык для начинающих, так как основы Python достаточно интуитивно понятны.
Однако Python не ограничивается базовым использованием. Он поддерживает некоторые из самых сложных веб-сайтов и приложений в мире.
Python поддерживает все возможности объектно-ориентированного языка программирования, а также процедурно-ориентированного языка программирования. Поэтому не случайно, что Python является предпочтительным выбором для разработчиков, специалистов по анализу данных и инженеров-программистов.
На курсах Python, подобных курсу Skillbox, вы изучите такие основные понятия, как библиотеки, словари и списки, которые необходимы для работы, ориентированной на работу с данными. Правильное обучение даст вам фундаментальное понимание Python, что в свою очередь позволит вам изучить более сложные концепции машинного обучения и науки о данных. Изучить Python, однако, относительно просто.
Могу ли я изучать Python самостоятельно?
Да, благодаря относительной простоте языка Python его можно начать изучать самостоятельно.
Очень просто установить язык и запускать его с любого компьютера.
Если вы столкнетесь с проблемами, существует большая и очень динамичная база пользователей Python , что позволяет легко найти сообщество, готовое ответить на вопросы.
Чтобы ускорить процесс обучения, многие начинающие разработчики Python записываются на курсы Python , такие как сертификационный курс SKILLBOX , БРУНОЯМ, CODDY, ХЕКСЛЕТ по программированию на Python , который позволяет изучить основы Python у опытных экспертов и получить практический опыт написания строк кода.
На самом деле, курсы кодирования и курсы по науке о данных становятся все более популярным вариантом для тех, кто хочет изучать Python , и не только для неофитов-разработчиков Python — как и в других областях техники, специалистам по Python необходимо постоянно учиться, чтобы оставаться на вершине изменений в языках программирования, методах и тенденциях в науке о данных.
Еще одна замечательная особенность Python — богатая документация, доступная на сайте Python . org . Существует также множество сайтов, позволяющих практиковать Python и оставаться в курсе последних событий, например practicepython . org или codingbag . com .
Участие в сообществах с открытым исходным кодом, таких как GitHub или Bootstrap , также может помочь вам оставаться в курсе событий.
Если вы хотите узнать, доступно ли в Python конкретное приложение или библиотека с определенной функциональностью, существует множество источников информации. На сайте Python есть Индекс пакетов Python (также известный как " Cheese shop "). Там также есть страница поиска по ряду источников информации, связанной с Python .
Сколько времени требуется для изучения Python новичку?
Новичку потребуется около 6-8 недель, чтобы изучить основы Python . Именно столько времени потребуется, чтобы научиться понимать большинство строк кода на Python . Для перехода к новой карьере разработчика Python потребуется значительно больше времени на изучение Python .
Сколько часов требуется для изучения Python?
Если вы новичок и хотите выучить Python за два месяца или меньше, вам придется посвятить изучению Python полный рабочий день.
Если вы будете тратить на изучение Python 40 часов в неделю, то в конечном итоге на полное развитие ваших навыков в Python уйдет около 250 часов.
Большинство новичков, заинтересованных в изучении Python , разрабатывают план, согласно которому они тратят определенное количество часов в день на изучение основ Python , а другую часть дня — на применение этих навыков на практике.
Трудно ли изучать Python?
Хотя Python считается одним из самых простых языков программирования для начинающих, освоить его может быть нелегко.
Любой человек может выучить Python , если будет усердно работать над ним, но чтобы стать разработчиком Python , потребуется много практики и терпения.
Однако относительная простота языка не умаляет его возможностей и полезности.
Python , по сути, является одним из самых популярных языков программирования, используемых как в крупных технологических компаниях, так и в учебных программах, университетах и небольших стартапах.
Когда дело доходит до изучения программирования, Python является лучшим языком для начала, поскольку он удобен для пользователя. Он имеет более интуитивный стиль кодирования и обладает многими другими преимуществами для разработчиков и конечных пользователей. Отчасти поэтому курсы программирования на Python стали столь популярны: после короткого сертификационного курса вы сможете вооружиться одним из самых востребованных на рынке труда наборов навыков.
Еще одна причина, по которой Python несложно выучить? Он доступен. Python доступен на официальном сайте бесплатно. Кроме того, наличие открытого исходного кода означает, что вы или любой другой человек может обновлять и добавлять новые функции в Python .
Кроме того, Python может эффективно работать на всех платформах, таких как Windows , Mac или Linux . Таким образом, он не зависит от одной платформы и не ограничен ею.
В профессиональном плане Python часто используется для внутренней веб-разработки, искусственного интеллекта и анализа данных. Этот язык программирования уже использовался для создания инструментов повышения производительности, игр и настольных приложений.
Стоит ли изучать Python в 2023 году?
Да, изучать Python в 2023 году стоит, потому что некоторые из самых горячих областей техники, включая машинное обучение и искусственный интеллект, в значительной степени зависят от программистов со знанием Python .
Благодаря популярным библиотекам ML , таким как Pandas и Scikit — learn , Python является самым популярным языком в таких областях, как наука о данных, анализ данных и машинное обучение.
Это важно, поскольку спрос на специалистов со знаниями в области ML постоянно растет, и, по прогнозам, к 2024 году стоимость рабочих мест в области ML составит 31 миллиард долларов.
Благодаря универсальности языка Python — его многочисленным функциям и приложениям — он может быть полезен в самых разных сферах деятельности. Действительно, вам следует изучить хотя бы основы, если ваша карьера связана с программным обеспечением, веб-технологиями, данными, продуктами или дизайном.
Изучать Python 2 или Python 3?
Вам следует изучать Python 3, который более востребован работодателями и включает систему типизации. Хотя в Python 2 используется устаревший синтаксис, он все еще находит применение в DevOps .
К основным преимуществам Python 3 относятся синтаксис — понятные команды, встроенные в код Python 3, делают его более удобным для пользователя, — а также более точное деление целых чисел, возможность представления иностранных языков и популярных эмодзи с помощью Unicode и совместимые с форвардами библиотеки (хотя это может коснуться только более продвинутых разработчиков Python ).
Кроме того, Python 2 больше не поддерживается, и уязвимости безопасности больше не будут исправляться.
Могу ли я изучать Python самостоятельно?
Да, изучить Python самостоятельно абсолютно возможно. Хотя это может повлиять на количество времени, которое вам потребуется на изучение Python , существует множество бесплатных онлайн-курсов, видео-советов и других интерактивных ресурсов, которые помогут любому научиться программировать на Python .
Одно из преимуществ Python заключается в том, что сообщество разработчиков Python огромно и полезно.
Не стесняйтесь обращаться за помощью к мастеру-программисту в Интернете по любым вопросам — от вопросов по основам Python до получения отзывов о ваших проектах или совета по карьере.
Нужно ли мне хорошо знать математику, чтобы изучать Python?
Для изучения Python не обязательно хорошо разбираться в математике. Хотя понимание математики на уровне средней школы и помогает, на самом деле вы можете изучать Python практически без математических способностей.
Более того, недавнее исследование показало, что коммуникативные навыки важнее математических, когда речь идет о кодировании, и что практика найма должна отражать это.
Сколько времени нужно для изучения Python в области науки о данных?
По разным оценкам, изучение Python для Data Science может занять от трех до 12 месяцев.
Это может занять больше времени, чем общее изучение Python , потому что специалисты по изучению данных используют Python иначе, чем программисты.
В мире науки о данных Python может использоваться для построения моделей, поиска, очистки и визуализации данных. Изучение Python применительно к науке о данных означает уделить больше времени изучению специальных модулей и библиотек, таких как Numpy и Pandas .
Можно ли выучить Python за две недели?
Вполне возможно изучить основы языка Python за две недели постоянного изучения и практики, но для того, чтобы приобрести достаточный опыт работы над проектами, скорее всего, потребуется больше времени.
Разумно ожидать, что к концу двухнедельного периода вы будете понимать основы Python (включая переменные и типы, основные операторы, форматирование строк, циклы, функции и многое другое), изучите пару библиотек и начнете работать над проектами на Python .
Конечно, существует не один способ изучения Python , и то, насколько быстро вы сможете освоить язык, во многом зависит от метода. Тем не менее, большинство онлайн-курсов по Python потребуют более двух недель.
Могу ли я изучать Python без опыта программирования?
Да, вы можете изучать Python без опыта программирования. На самом деле, Python так популярен отчасти благодаря своей простоте в использовании и интуитивной понятности.
Для людей, не имеющих опыта программирования, Python считается идеальным языком программирования. Его простой синтаксис настолько доступен, что код на Python можно читать так же, как английские команды.
План обучения Python с нуля: что нужно знать, сколько и где учиться
Python используется для самых разных сценариев — от создания веб-приложений до анализа данных и решения математических проблем. Его любят как опытные программисты, так и начинающие. И есть масса причин начать учить этот язык.
Зная Python, вы будете востребованным. Умение программировать поможет «оставаться на плаву» по мере того, как мир развивается. Одна только работа в сфере разработки программного обеспечения должна вырасти на 21% за следующие 10 лет.
Бюро статистики труда США оценивает этот показатель как «намного стремительнее среднего». Учитывая количество разработчиков, использующих Python, знание этого языка поможет заложить фундамент в этом направлении.
Python похож на английский. Многие разработчики отмечают, что Python легко учить, потому что он похож на английский. И это правда, ведь язык был спроектирован, чтобы быть лаконичным. Если вы только учитесь программировать, то Python — отличный выбор для старта.
Python широко используется. Такие организации, как Quora, YouTube, Dropbox и IBM всерьез полагаются на Python в своем бизнесе, потому что он гибкий, мощный и простой. Вы также можете использовать язык для решения сложных проблем.
Что нужно учить в первую очередь?
| Базовые знания языка Python | Операторы, выражения, переменные, условный оператор if, ветвления, циклы (while, for), циклы со счетчиком, работа со списками и их сортировка, массивы, кортежи и строки, словари, функции, работа с модулями, работа с файлами (открытие, чтение, запись), основы работы с сетью. Изучить фреймворки, например, Django. |
| Основы программирования | Что такое ООП (объектно-ориентированное программирование), алгоритмы и структура данных, базы данных (какие бывают, как с ними работать). |
| Системы контроля версий | В первую очередь Git. |
| Дополнительные знания | Если планируете работать в сфере веб-разработки, лучше дополнительно освоить HTML и CSS, основы JavaScript, научиться верстать адаптивные макеты. |
За сколько времени можно выучить Python?
- От 4 до 6 месяцев, если вы осваиваете только язык программирования без дополнительных технологий. Точное время зависит от уровня начальных знаний и частоты занятий. Например, опытному разработчику достаточно 1-2 недели, чтобы разобраться с синтаксисом языка и что-то начать на нем делать. Если вы учите Пайтон с нуля, то первое время вам будет сложнее ориентироваться в большом объеме новой информации.
- От 8 до 12 месяцев, если вы изучаете программирование с нуля и хотите освоить разные технологии, нужные для поиска работы. Например, курс в Skillbox для Питон-разработчиков идет ровно год. Он рассчитан на новичков, и в его рамках обучают самому языку, а также верстке, работе с базами данных и Git.
Классы и объекты
Немного теории:
Объекты это представление предметов из реальной жизни, например машин, собак, велосипедов. У объектов есть две основных характеристики: данные и поведение.
У машин есть данные, например количество колёс или сидячих мест. Также у них есть поведение: они могут разгоняться, останавливаться, показывать оставшееся количество топлива и другое.
В объектно-ориентированном программировании мы идентифицируем данные как атрибуты, а поведение как методы. Ещё раз:
Данные → Атрибуты; Поведение → Методы
Класс это как чертёж, из которого создаются уникальные объекты. В реальном мире есть множество объектов с похожими характеристиками. Например, машины. Все они имеют какую-то марку или модель(точно так же как и двигатель, колёса, двери и так далее). Каждая машина была построена из похожего набора чертежей и деталей.
За сколько можно выучить Python?
Скорость изучения Python зависит от вашего расписания и того, что вы понимаете под словом «учить».
Существует не так уж и много людей, о которых можно было бы сказать, что они знают Python всецело. Объем знаний сильно зависит от того, для чего вам нужны эти знания.
Если вы хотите стать специалистом по машинному обучению, то перед вами лежит довольно долгий путь. Но начнем с того, сколько займет знакомство с базовым пониманием языка.
В среднем изучение основ занимает 6-8 недель. Это позволит понимать большую часть строк, написанных с помощью этого языка. Если же у вас в планах data science или любая другая специализированная отрасль, то лучше сразу закладывать месяцы и даже годы.
Можно расписать план обучения приблизительно на 5-6 месяцев. Это подойдет в первую очередь тем, кто работает полный день, и может проводить у компьютера 2-3 часа. Сегодня вы учите что-то, а завтра — практикуетесь.
Однако важно практиковаться каждый день, чтобы быть уверенным в том, что вам удастся получить нужные знания за определенный промежуток времени. В любом случае этот режим легко подстраивать, пожертвовав, например, временем, которое вы тратите на просмотр сериалов.
Работа с интерпретатором в Linux
Интерпретатор Питона без проблем запускается в любой среде. Например, в Linux применяется команда для консоли:
После ее ввода откроется приглашение и отобразится текущая версия Python. Сейчас распространены релизы под номерами 2 и 3. Именно на них разработана масса библиотек, используемых кодерами для сборки собственных программ. Третья версия имеет расширенный набор функций, но на второй написано слишком много модулей, поэтому в дистрибутиве поставляются сразу обе.
По умолчанию запускается релиз v2, для запуска v3 требуется указать следующее:
Если обучение происходит «с нуля», есть смысл за основу брать третью версию. Вторую осваивать в процессе оттачивания мастерства, например, если пришлось на практике разбираться в «чужом» коде. Или когда готовые модули написаны на старой версии и нет времени/желания переделывать их на новый лад (выгоднее сослаться на уже отлаженный код).
4. Ввод данных
Для ввода данных применяется функция input():
input_word = input(‘Введите какое-нибудь слово: ‘)
print(‘Слово: ‘ + input_word)
Бесплатные курсы и материалы для новичков
В интернете много сайтов и видеоуроков, которые можно смотреть бесплатно. Ниже собран их обзор.
Сайты и самоучители, в основном бесплатные:
- Python.org – официальный сайт с документацией, новостями и другой полезной информацией. На английском языке.
- Питонтьютор – позволяет учить язык программирования онлайн без установки среды разработки. Работает прямо в браузере. Много примеров кода, больше сотни заданий. Подходит новичкам и людям, которые раньше не сталкивались с программированием.
- Самоучитель по Питону – на сайте размещены бесплатные уроки для новичков. Здесь можно изучить основы, синтаксис, операторы, циклы, списки, кортежи, словари, функции и многое другое. Есть примеры кода, что упрощает самостоятельное обучение.
- Python Class от Google – самоучитель от одноименной компании на английском языке.
- Питонист – блог с полезной информацией. Отдельного внимания заслуживает раздел с тестами, где можно проверить свои знания.
- Python.ru – сайт евангелистов сообщества MoscowPython. Новичкам будет интересен форум, где разбирают задачи и отвечают на вопросы.
- Python-ucheba.ru – самоучитель по версии языка 2.7. Включает 34 урока, в том числе отдельную статью про ООП и классы.
- Pyvideo.ru – на сайте собрано более 250 видеозаписей докладов и лекций, помогающих выучить Python самому.
- Pythonru.com – база знаний. Много статей на разные темы с примерами кода. Есть отдельный раздел с уроками, основами и библиотеками.
- Яндекс.Практикум – онлайн-курс от Яндекса. Первая часть, где обучают азам, бесплатная. Ее можно пройти самостоятельно, а потом решить, что делать дальше.
Также советуем посмотреть 24 сайта для изучения программирования на русском языке. В нем собраны ссылки на полезные справочники, каталоги и другие ресурсы для разработчиков.
- Python для начинающих – курс содержит 21 видео.
- Анализ данных на Питоне – 12 уроков.
- Python с нуля – небольшой курс для новичков. Содержит 9 видео.
- Фреймворк Django – включает 7 мастер-классов.
- ООП для новичков – советуем посмотреть для общего развития.
Также в Клубе фрилансеров вы найдете бесплатные уроки по программированию и верстке. Рекомендуем заглянуть в группу и сохранить себе подборку материалов.
Зачем учить Python? Преимущества и недостатки языка
- Популярность и широкое применение. Изучив Питон, вы сможете создавать как простые приложения, так и программировать нейронные сети, анализировать данные и многое другое.
- Востребованность программистов на рынке.
- Высокий уровень зарплат. Новички могут получать от 60 тыс. рублей в месяц, специалисты с опытом – от 100 до 200 тыс. рублей в месяц.
- Относительная простота и легкость обучения.
- Множество готовых библиотек и фреймворков, которые упрощают жизнь.
- Большое и активное сообщество, много информации на русском языке, в том числе самоучителей.
- Подходит новичкам, кто ранее не был связан с программированием, но хочет начать карьеру в этой сфере.
- Непривычный синтаксис. Если вы знаете другие языки программирования, учить Python будет необычно.
- Многие работодатели ищут разработчиков, владеющих несколькими языками. Для получения работы выучить только Питон может быть не достаточно.
- Разные версии языка не совместимы и существуют параллельно.
- Больше всего вакансий открыто в Москве и Санкт-Петербурге. Соискателям из регионов может потребоваться работать удаленно или переезжать в более крупный город.
Создание проекта
Создадим проект, в котором будем хранить код и другие файлы. Для этого перейдем во вкладку File → Add Project Folder и выберем любую свободную папку.
Для чего нужен Python?
Python — это язык программирования общего назначения, что значит, что он используется в самых разных отраслях. Чаще всего его применяют:
- в веб-разработке,
- при анализе данных,
- в машинном обучении и нейросетях,
- для парсинга/сбора данных,
- в тестировании ПО,
- реже в других областях.
Для Python есть внушительный набор библиотек, которые расширяют язык. Это подразумевает наличие огромного числа сообществ, использующих Python для самых разных целей. matplotlib, например, нужна для data science, а Click — для написания скриптов.
7. Цикл for
Рис. 7. Цикл for в Python
Цикл for перебирает элементы последовательности:
# на экран выводятся числа 0, 1, 2 и 3
0
1
2
3
i – переменная, которая принимает значение из диапазона значений range(0, len(numbers)).
range(0, len(numbers)) – последовательность чисел от 0 до значения длины списка numbers.
print(numbers[i]) – тело цикла, выводит на экран i-й элемент списка numbers.
Второй вариант записи:
# идентичный результат
0
1
2
3
За сколько можно выучить основы?
Изучение основ Python займет как минимум три месяца. При условии уделения минимум 10 часов обучения в неделю.
Но три — это не конкретное число. Если вы захотите погрузиться в какую либо из библиотек, то быстро обнаружите, что общее время увеличивается. Одну только matplotlib можно учить несколько недель, и это всего одна библиотека.
Чем больше времени вы посвящаете обучению, тем быстрее вы будете учиться. Базовые вещи можно разобрать и за несколько дней. Но если вы хотите писать сложные и длинные программы, то сразу ориентируетесь на три месяца.
Инкапсуляция: сокрытие информации
Инкапсуляция — это механизм, который ограничивает свободный доступ к данным и методам объекта. Но в то же время, это упрощает доступ к данным(методам объекта).
«Инкапсуляция может использоваться для сокрытия данных и функций. Под определением инкапсуляции имеется ввиду то, что внутреннее представление объекта сокрыто от просмотра вне определения объекта.» — Википедия
Вся внутренняя реализация объекта недоступна извне. Только сам объект может взаимодействовать со своими внутренними данными.
Для начала нам нужно понять как работают публичные и не-публичные переменные и методы.
Установка Python на Windows
Пакет для поддержки Питона нужно скачать с официального сайта разработчика по ссылке. Скачивая его на сторонних ресурсах, нет гарантии, что дистрибутив будет без вирусов. Важно и выбрать правильную платформу 32-bit или 64-bit. Портал представляет сразу все выпущенные релизы, ориентироваться следует на последние.
После загрузки дистрибутив надо установить, как и любую другую программу. Путем последовательного нажатия кнопки Next запускается процесс инсталляции. Вручную изменять те или иные параметры имеет смысл лишь при наличии опыта и понимания особенностей языка.
После установки скачанного дистрибутива на рабочем столе Windows появляется ярлык для запуска программы IDLE (среды разработки на языке Питон). Внешне рабочее окно схоже с тем, которое видят пользователи Linux.
Советы для начинающих
- Заранее подумайте, где вы хотите работать. Например, в области веб-разработки или анализа данных. От этого зависит, какие библиотеки и дополнительные технологии потребуется учить. Их в ИТ много, поэтому объять все не получится.
- Начните с изучения синтаксиса и решения простых задач. Чем больше практики, тем лучше.
- Чтобы добиться прогресса, рекомендуем выделять на обучение минимум 4 часа в неделю. Например, два раза заниматься по два часа. Больше тоже можно.
- Посмотрите вакансии на сайтах, где ищут программистов. Как правило, в них указывают, что необходимо знать и уметь для получения работы. Составьте список того, что вам потребуется для успешного прохождения собеседований.
- Не расстраивайтесь, если что-то на старте не получается. Это нормально. Начинать любое дело тяжело, но потом вы втянетесь, и все пойдет быстрее.
- Старайтесь писать простой и понятный код. Посмотрите, что такое ООП и как его использовать.
Словарь: структура данных в виде ключ-значение
Теперь мы знаем, что списки пронумерованы числовыми значениями. Но что, если мы не хотим использовать числа для идентификации элемента? Некоторые виды структур данных могут использовать числа, строки, или другие виды идентификации.
Одним из таких типов является словарь. Словарь это коллекция пар ключ-значение. Вот так это выглядит:
Ключ указывает на значение. Чтобы получить доступ к какому-либо значению — нам нужно обратиться к его ключу. Делается это следующим образом:
print(«My name is %s» %(dictionary_tk[«name»])) # My name is Leandro
print(«But you can call me %s» %(dictionary_tk[«nickname»])) # But you can call me Tk
print(«And by the way I’m %s» %(dictionary_tk[«nationality»])) # And by the way I’m Brazilian
Я создал словарь о себе. Моё имя, никнейм и национальность. Эти атрибуты ключи в словаре.
Похожим образом на то, как мы получаем элемент из списка по его номеру, точно так же мы получаем значения словарей по их ключам.
В примере я написал предложение о себе используя значения, которые хранятся в словаре. Довольно просто, не правда ли?
Ещё одной хорошей особенностью словарей является то, что мы можем использовать что угодно в качестве значения. В том словаре, что я создал, я хочу добавить новый ключ «age»(возраст) и числом мой реальный возраст в качестве значения:
print(«My name is %s» %(dictionary_tk[«name»])) # My name is Leandro
print(«But you can call me %s» %(dictionary_tk[«nickname»])) # But you can call me Tk
print(«And by the way I’m %i and %s» %(dictionary_tk[«age»], dictionary_tk[«nationality»])) # And by the way I’m Brazilian
Здесь у нас пара из ключа(age) и значения(24). При этом ключ это строка, а значение это число.
Точно также как со списками, давайте научимся добавлять новый элемент в словарь. Ключ указывающий на значение — главная особенность словаря. И это же одна из особенностей при добавлении нового элемента в словарь:
Нам просто нужно дописать значение для существующего ключа в словаре. Ничего сложного, не так ли?
Python: Data Science
Наверняка кто-то уже написал статью о причинах популярности Python среди дата-сайентистов. Эти причины нам, по правде сказать, не слишком важны, просто запомним, что на данный момент Python главный язык в науке о данных.
Если вы планируете карьеру в этом направлении, то в дополнение к основным вебинарам прочитайте статьи:
- Карта развития дата-сайентиста: с чего начать и куда идти.
- Как изучить Data Science по-настоящему (а не развлекаться трюками).
- Семь базовых понятий из статистики для Data Science.
А также статью про математику для джунов.
Изображение: Public Domain
Первые модели
Одна из сильных сторон Python — это то, что настоящую модель машинного обучения можно закодить буквально в пару десятков строк, а то и меньше. И, разумеется, чтобы написать эти строки, глубокое знание Python не требуется. У дата-сайентистов его и нет.
- Галопом по питону: языковой минимум для начинающего дата-сайентиста.
- Первичное преобразование данных: использование библиотеки Pandas.
- Ваша первая модель машинного обучения.
Делаем умного чат-бота
Николай Герасименко, ведущий исследователь данных в «Сбере», научит вас делать умных чат-ботов.
- В первый день познакомимся с архитектурой будущего чат-бота, узнаем, что такое NLU, а также, как обычно, освежим в памяти основы Python.
- Во второй день научим чат-бота понимать текст. Для этого подготовим данные, превратим слова в числа, обучим модель и встроим её в чат-бота.
- На третий день создадим Telegram-бота и запустим наконец-то наше приложение. Восстание машин уже близко!
Интенсив «Чат-бот с искусственным интеллектом на Python»: первый день, второй день, третий день .
Пишем зрячую нейросеть
Уже знакомый нам Никита Левашов покажет, как сделать приложение с нейронкой внутри.
- Первый день: основы Python для работы с нейросетью, работа в Google Colab, что такое компьютерное зрение.
- Второй день: обучение модели распознаванию объектов.
- Третий день: написание приложения, подключение его к стриму.
Интенсив «Пишем нейросеть для распознавания предметов и слежки»: первый день, второй день, третий день.
Установка редактора кода
Для работы нам понадобится редактор кода (IDE). Самые популярные:
- PyCharm
- Atom
- Visual Studio Code
- Sublime Text
Для установки Atom в Ubuntu введем в терминале:
wget -qO — https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add —
sudo sh -c ‘echo «deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main» > /etc/apt/sources.list.d/atom.list’
sudo apt-get update
sudo apt-get install atomРис. 1. Страница установки Atom для Windows
Для Windows скачаем Atom с официального сайта. После установки редактора кода установим для него плагин run-python-simply (есть и другие) для запуска Python. Два способа установки:
- Перейдем на страничку плагина и нажмем кнопку Install.
- Откроем Atom, перейдем во вкладку File → Settings → Install , введем в поле поиска run-python-simply и установим его.
Проверенный способ освоить Python с нуля
Рецепт успеха состоит из конкретных этапов обучения, которые нельзя пропускать. Человек должен последовательно выполнить каждый шаг, чтобы чувствовать себя комфортно при работе с «Питоном». Процесс обучения состоит из следующих стадий:
- Изучение основ программирования.
- Выбор редактора.
- Чтение литературы.
- Практика.
- Изучение чужого кода.
1. Изучение основ программирования
Если человек ни разу не сталкивался с программированием, то имеет смысл начать с самых азов. Достаточно прочитать пару статей в интернете на тему «базовое программирование». Альтернативные варианты — бесплатные курсы на русском языке. Хорошие варианты курсов — CS50 или другие обучающие каналы на Youtube.
Подборка курсов по Python:
ТОП курсов по Python
2. Выбор редактора
Когда азы программирования уже «устаканились» в голове, стоит перейти к самому легкому этапу — выбору IDE.
IDE — интегрированная среда разработки, в которой пишется код
Грубо говоря, IDE это редактор, заточенный под написание программного кода. Программу на «Питоне» можно писать и в «блокноте». Однако IDE предоставит вам огромный функционал — это различные подсказки, автодополнения кода, автоформатирование и т.д. Весь этот функционал поможет начинающему Python-программисту писать код.
Среди редакторов отдельным особняком стоит PyCharm от компании JetBrains.
PyCharm — IDE для профессиональной разработки на Python.
Данный инструмент рекомендуется как новичкам, так и опытным программистам.
- бесплатный (версия Community);
- легко установить;
- множество «фишек», которые облегчают работу.
Конкретные возможности PyCharm:
- автозаполнение, которое ускоряет ввод инструкций в несколько раз;
- возможность редактировать написанный код буквально в два клика;
- графический отладчик;
- поддержка Django;
- автоматический рефакторинг.
PyCharm крайне быстр. Интерфейс редактора «user-friendly». Новичку будет трудно потеряться в удобном и комфортном функционале данного редактора.
Интересный факт — PyCharm используется в NASA
Существуют и другие IDE, на которые также стоит обратить внимание:
- Visual Studio Code (VS Code);
- Sublime text 3;
- Eclipse;
- Atom;
- Vim.
3. Чтение литературы
Чтение литературы — «сердцевина» всего обучения. От человека требуется только две вещи: умение читать и немного усердия. Все остальное придет в процессе чтения.
Интернет пестрит десятками различных книг, которые предлагают простое и удобное введение в Python. Но ни одно, даже самое блестящее пособие, не сравнится по успешности с книгой «Укус Питона». Она бесплатна и удобна — идеально подойдет для начинающих. Если читать данное пособие нет времени или желания, то есть альтернатива — курс по основам Python на ru.hexlet.io.
☝️ Важный момент касается методики чтения. «Горячим головам», которые могут читать книги взахлеб на одном лишь интересе имеет смысл немного «охладиться». Конечно, никто не запрещает читать пособия за один присест, но есть более эффективный способ обучения:
- Читаем теорию до появления примера кода.
- Закрываем книгу.
- Пробуем набрать код.
- Открываем книгу и читаем дальше.
Данный способ проверен тысячами начинающих разработчиков. Вполне вероятно, что кто-то из прошлых новичков уже стали сеньорами «Питона». Это самый эффективный подход к чтению литературы, который никогда не стоит сбрасывать со счетов.
Львиная доля новичков воспринимает только непосредственные строки родного языка, а примеры кода пропускаются на «черный день». Такая методика плохо работает по ряду причин:
- без кода не будет практики, что автоматически ударит на общем навыке программирования;
- пример кода неразрывно связан с повествованием книги.
Если пропустить код, то пропустится самое интересное и наглядное место в литературе.
Подборка книг по Python:
Топ книг по обучению языку Python
4. Практика
Следующий этап — практика. Python — это в первую очередь язык. Крайне важно знать основы синтаксиса и грамотно писать код. Для того чтобы отточить навык написания скриптов на Python, подойдут видео на YouTube, в которых люди последовательно пишут программу в реальном времени. Достаточно повторять за ними. Вот пример одного из них.
В чем смысл повторять за Youtube блогером?
- Это отличный способ систематизировать знания. Вы пройдете с нуля до работающего приложения, охватив все этапы создания программы.
- Вы поймете, как грамотно писать код. Влогер комментирует его, объясняя, как и зачем он использует ту или иную конструкцию. По ходу написания вы будете узнавать новые конструкции, фишки, «best practices» и нюансы языка.
- Писать код по маленьким порциям проще (в отличие от статей, где часто выкладываются сразу большие куски кода).
Отличный вариант для практики — написание с нуля собственного небольшого проекта (pet project). Выберите простую тему с которой справитесь, и доведите ее до минимально жизнеспособного продукта.
Списки: коллекция, массив, структура данных
Представьте что вы хотите сохранить значение 1 в переменной. или может теперь вы хотите сохранить 2. А ещё 3, 4, 5…
Есть ли иной способ хранить все числа, что нам нужны, не имея при этом, не создавая при этом миллионы переменных? Как оказывается, есть иной способ хранить их всех.
Список(массив) это коллекция, которая может быть использована для хранения нескольких значений(в нашем случае чисел). Используется он следующим образом:
my_integers = [1, 2, 3, 4, 5]
Это действительно просто. Мы создали список и сохранили его в my_integers.
Но затем мы спросим себя: «А как нам получить нужное значение из списка?».
Хороший вопрос. В списках есть концепция, которая зовётся номером (индексом). Номером первого элемента в списке является 0, следующий получает 1 и так далее.
Чтобы донести это проще, мы можем представить список, у которого каждый элемент подписан своим номером. Как на следующей картинке:
Используя синтаксис Python не сложно понять и следующее:
my_integers = [5, 7, 1, 3, 4] print(my_integers[0]) # 5
print(my_integers[1]) # 7
print(my_integers[4]) # 4
Представьте, что мы больше не хотим хранить числа. Вместо этого мы хотим составить список имён наших знакомых. Мой выглядел бы следующим образом:
Это работает точно так же, как и с числами. Неплохо.
Только что мы выучили, как работают индексы в списках. Но мне всё ещё нужно показать вам, как добавить новый элемент в список.
Самая простая функция, которую можно использовать для этого — зовётся append. Работает она следующим образом:
bookshelf = [] bookshelf.append(«The Effective Engineer»)
bookshelf.append(«The 4 Hour Work Week»)
print(bookshelf[0]) # The Effective Engineer
print(bookshelf[1]) # The 4 Hour Work Week
Функция append донельзя проста. Вам всего лишь нужно использовать новый элемент(в примере выше это «The Effective Engineer») как значение это функции.
Ну что же, достаточно о списках. Перейдём к следующей структуре данных.
2. Hello, World
Создадим файл example.py, где example – имя файла, .py – расширение, которое означает, что программа написана на языке программирования Python.
Напишем в example.py следующую строчку:
print(‘Hello, World’) # Hello, World
У нас установлен плагин run-python-simply и запустить код мы можем двумя способами:
- перейти во вкладку Packages → Run Python Simply → Toggle F5;
- или нажать на клавишу F5.
После запуска кода появится окно терминала с результатом или ошибкой.
В нашем случае в терминале отобразится фразаHello, World.
print() – функция, выводящая на экран фразу Hello, World.
‘Hello, World’ – строка (заключена в кавычки).
Также можно использовать переменную word, которой присвоим значение ‘Hello, World’:
word = ‘Hello, World’
print(word) # Hello, World
Python – язык с динамической типизацией, то есть нам не нужно заранее объявлять тип переменной, является ли она строкой, числом и так далее.
О функциях поговорим в конце статьи, сейчас разберемся со строками и другими типами данных.
5. Условные инструкции
Рис. 5. Условный оператор if в Python
Оператор if выполняет код в зависимости от условия. Проверим, если число три меньше пяти, то выведем на экран слово true:
Попробуем оператор if-else. else переводится как «в другом случае». Когда условие if не выполняется, то идет выполнение кода после else:
elif = else + if – код выполняется, если предыдущее условие ложно, а текущее истинно:
number = 15
if number < 3:
print(‘число меньше трех’)
elif 4 < number < 10:
print(‘число в промежутке от 4 до 10’)
elif number > 10:
print(‘число больше 10’) # число больше 10
Не-публичные экземпляры данных
Мы не используем термин «приватный», поскольку в Python нет действительно приватных атрибутов(если только не задаваться тяжёлой целью создать их). — PEP 8
Точно так же, как с публичными экземплярами переменных, мы можем объявить и не-публичные экземпляры. Оба внутри конструктор-метода или внутри класса. Синтаксис несколько отличается: не-публичные экземпляры переменных должны начинаться с нижнего подчёркивания(«_») перед именем переменной.
«‘Приватный’экземпляр данных, доступ к которому открыт только изнутри, не существует в Python. Тем не менее, есть условность, которая выполняется в большей части Python-кода: имена с префиксом «_»(например, «_spam») должны обрабатываться как не-публичные части API(будь то функция, метод или какие-то данные)» — Python Software Foundation
class Person:
def __init__(self, first_name, email):
self.first_name = first_name
self._email = email
Увидели переменную email? Вот так мы описываем не-публичную переменную:
tk = Person(‘TK’, ‘tk@mail.com’)
print(tk._email) # tk@mail.com
Мы имеем доступ и может обновить это. Не-публичные переменные это условность, при которой эти переменные обрабатываются как не-публичная часть API.
Таким образом мы создаём метод, который позволяет нам вносить изменения внутри определения класса. Давайте реализуем два метода(email и update_email), чтобы понять это:
class Person:
def __init__(self, first_name, email):
self.first_name = first_name
self._email = email
def update_email(self, new_email):
self._email = new_email
def email(self):
return self._email
Теперь мы имеем доступ и можем обновить значения не-публичных переменных используя эти методы. Посмотрим:
tk = Person(‘TK’, ‘tk@mail.com’)
print(tk.email()) # => tk@mail.com
tk._email = ‘new_tk@mail.com’
print(tk.email()) # => tk@mail.com
tk.update_email(‘new_tk@mail.com’)
print(tk.email()) # => new_tk@mail.com
- Мы объявили новый объект, в котором first_name заполнено строкой «TK» и email заполнено строкой «tk@mail.com»
- Выводим email получая доступ к не-публичной переменной через метод
- Пробуем задать новый email извне нашего класса
- Нам нужно обращаться в не-публичной переменной как к не-публичной части API
- Обновляем нашу не-публичную переменную с нашим методом экземпляра
- Успех! Мы можем обновить это внутри нашего метода с помощью метода-помощника
Лучший способ изучить Python бесплатно
Итак, вы решили изучать Python. Теперь разберемся с тем, как сделать это быстро.
Учитывая количество разработчиков, использующих этот язык, недостатка в обучающих материалах нет. Однако ресурсы — это не главное. Вот что еще вам потребуется.
Шаг 1: определение мотивации
Прежде чем начать изучать программирование на Python, определитесь с мотивацией. Это может показаться не столь важным, однако стоит понимать, с какой целью вы учитесь.
Пусть Python и является относительно легким языком, сам процесс обучения требует времени и энергии. И наличие мотивации поможет оставаться сфокусированным.
Вы хотите начать карьеру разработчика? Или стремитесь разбираться в современных технологиях? Это — хорошие причины, чтобы начать.
Шаг 2: изучите основы Python
Вы можете быть искушены идеей сразу же приступить к разработке сайта, но такой подход не работает. Вы будите тратить часы на устранение ошибок, возможно, разочаруетесь в программировании. Решите — «это не мое».
Для начала лучше изучить основы. А время для собственных проектов всегда будет.
Давайте рассмотрим план изучения Python с нуля:
- Синтаксис:
- Как создаются программы Python.
- Переменные.
- Типы данных.
- Вывод инструкций в консоль.
- Арифметика (базовая математика).
- Комментарии.
- Условные конструкции.
Они помогают управлять потоком программы. Именно с их помощью можно сказать программе, чтобы она выполнила ту или иную задачу при соответствии условию. Например, выполнить какое-то действие после авторизации пользователя. - Циклы.
Разрабатывая программу, вам может потребоваться выполнить одну и ту же логику несколько раз. Например, при создании викторины вы хотите дать пользователю 5 попыток. Цикл — это структура Python, позволяющая запустить определенный код указанное количество раз. - Функции.
Важная структура Python. С их помощью можно избежать повторений. Используя функции, программисты могут создавать код, который проще переиспользовать.
Например, можно создать функцию, которая складывает два числа. И в следующий раз при необходимости выполнить операцию сложения достаточно будет просто ее вызвать.
Вот что нужно знать касательно функций в Python:- Как они работают.
- Формальные и реальные параметры.
- Системные и пользовательские функции.
- Импорт библиотек.
- Основы объектно-ориентированного программирования.
- Списки и словари. После изучения функций можно изучить типы данных для последовательностей.
1. Списки хранят коллекции похожих данных в одной переменной. Например, список в Python может хранить перечень обуви, продаваемой в определенном магазине. В другом могут быть компании, доставляющие продукты в рестораны. С помощью списков можно хранить похожую информацию в одном месте. Это же позволяет потом проще управлять такими данными.
2. Словари похожи на списки. С их помощью данные можно хранить в формате ключ-значение. Ключ выступает в качестве ярлыка для хранящегося значения.
Вот что нужно знать о списках:- Основы списков.
- Как они индексируются.
- Основы словарей.
- Сравнение списков и словарей.
- Структуры данных в Python.
- Как получить часть списка.
- Как перебрать элементы списка.
- Объекты и классы.
- Python — это объектно-ориентированный язык. Классы — это «чертежи» объектов. Они определяют, как именно объекты будут структурированы, и что они смогут хранить. Разработчики используют классы, чтобы избежать повторений и увеличить эффективность кода.
- Объекты — это экземпляры класса. Например, класс может определять структуру игрока. Объектом же будет выступать сам игрок. Этот объект будет хранить имя игрока и дату, когда тот зарегистрировался для участия.
- Работа с файлами.
Файлы повсеместно используются в Python-программах для хранения и получения информации. - Другие подтемы.
Это лишь некоторые из тем Python, но, освоив их, вы уже будете развиваться как профессиональный разработчик. Дальше в процессе вам будут встречаться все более сложные и продвинутые темы.
Онлайн-курсы по Python
Сайты-справочники и ютуб
Книги по Python
Шаг 3: создание проектов
Лучший способ научиться программировать — разрабатывать собственные проекты. Это помогает применять полученные знания и учиться, пробуя новое.
Чем больше вы пишите на Python, тем больше учитесь. Вы ставите цель, следуете ей и одновременно получаете новые навыки.
И даже это еще не все. Это также помогает развивать свое портфолио. А с его помощью вы сможете предлагать свои услуги работодателям.
Но прежде чем вы начнете создавать что-то масштабное, попробуйте с чего-нибудь попроще. Главное — создавать что-то, что развивает ваши способности.
Советы по созданию первых проектов
Единственное, что ограничивает вас в отношении собственного проекта — это воображение. Вы можете создать что угодно: сайт, чтобы рассказывать о любимых фильмах, алгоритм для предсказывания цены на авокадо и что-либо еще. Если же придумать что-нибудь не получается, то вот некоторые советы:
- Посмотрите, что создают другие разработчики.
- Поищите открытый исходный код, в развитии которого можно было бы поучаствовать. У GitHub даже есть руководство на эту тему.
- Займитесь волонтерством и предоставьте свои навыки местной некоммерческой организации.
- Добавьте новые функции в уже существующее приложение.
- Присоединитесь к сообществу разработчиков в slack или телеграме, чтобы знать, чем они занимаются.
Главное — начинать с малого. Например, вы можете создать трекер привычек. Вот еще несколько идей для проекта:
- Инструмент, предсказывающий стоимость акций.
- Сайт для показа рейтинга фильмов.
- Приложение, чтобы делиться любимыми книгами с друзьями.
- Телеграм бота для списка дел.
- Приложение для отслеживания привычек.
- Игру гонки.
- Консольный покер или блэкджек.
- Сайт для сокращения ссылок.
- Инструмент, который агрегирует интересующий вас контент.
Операции со строками
Изучение проще начинать с простейших примеров базовых операций вроде операций со строками, числами, датой и временем, файловой системой. И только после освоения элементарных вещей приступать к более сложным решениям.
Примеры операций со строками:
Объединение с преобразованием (с числом или логическим значением):
str = «Это тестовое число » + str(15)
Читайте также: Списки в Python и методы работы с ними
Каждый из примеров рекомендуется внести в интерпретатор и посмотреть на результат. Понятно, что такие пробы ни к чему не приведут без теоретической основы. В ее качестве рекомендуется взять книги «Программируем на Python» Майкла Доусона и «Hello World. Занимательное программирование» Картера и Уоррен Сэнд. Также будут полезны «Изучаем Python» Марца Лутца и «Python – к вершинам мастерства» Лучано Рамальо.
Избыток информации на начальном этапе пойдет только на пользу, ведь новичок еще не определил для себя специализацию, поэтому стоит взяться за все доступные основы.