С чего начинать учить питон
С чего начать учить Python?
Эксперт в Frontend, Data Science. Ментор, автор курсов в SkillFactory.
Python — один из самых популярных языков программирования. На нем разрабатывают алгоритмы машинного обучения, собирают и анализируют данные о клиентах в крупных компаниях, пишут игры. Вместе с Python-разработчицей Анной Агабекян рассказываем все, что нужно знать на старте новичку.
Где используется язык программирования Python?
По замыслу создателя языка Гвидо ван Россума, Python должен был повысить продуктивность разработчиков, пишущих на языках С и С++. Однако благодаря своей простоте язык быстро приобрел популярность в среде программистов и вышел за рамки своего первоначального назначения. По данным опроса Stackoverflow, в 2020 году его использовали свыше 40% всех опрошенных разработчиков. Чаще всего язык применяется в веб-разработке, анализе больших данных и машинном обучении. Кроме того, на Python пишут сценарии для компьютерных игр (например World of Tanks и EVE Online).
В рейтинге TIOBE, который формируется на основе поисковых запросов, включающих упоминание языков, Python занимает третье место среди самых востребованных языков наряду с Java и С.
У языка есть собственный свод правил, так называемый «дзен Python», который написал американский разработчик Тим Петерс. Одно из правил звучит так: «Должен существовать один — и желательно только один — очевидный способ сделать это». Это правило отлично описывает назначение языка: с его помощью можно один раз решить задачу, а потом просто автоматизировать ее.
Как изучать Python?
Синтаксис
Начните с изучения синтаксиса (правил, по которым пишутся команды) — в первую очередь прочтите официальную документацию. В сети есть много хороших самоучителей для новичков.
Подборка полезных видеоуроков на YouTube:
Python для веб-разработки
Пройдите 9-месячный курс и научитесь самостоятельно создавать и поддерживать сайты. Дополнительная скидка 5% по промокоду BLOG.
Настройка среды разработки
Изучив синтаксис, можно начать писать код. Для этого скачайте и установите среду разработки — IDE. Она объединяет несколько инструментов, предназначенных для разработки: редактор кода, инструменты для сборки, выполнения и отладки, а также систему контроля версий.
Самый базовый редактор — IDLE. Гвидо ван Россум назвал его в честь одного из актеров «Монти Пайтона» — Эрика Айдла. C помощью этой среды разработки можно просматривать, редактировать, запускать и отлаживать программы на Python. IDLE поставляется вместе с дистрибутивом. Скачайте и запустите редактор и в открывшемся окне можете начинать писать код.
Практика: сервисы и сайты
Решайте задачи. Их можно взять, например, на проекте Эйлера — это некоммерческий онлайн-проект, названный в честь знаменитого швейцарского математика Леонарда Эйлера. Проект (есть на русском и английском языке) объединяет сотни тысяч любителей математики и программирования — участники могут выбрать одну из задач и решить ее с помощью любого известного им языка программирования, в том числе с помощью Python. После того как участник получил правильный ответ, он может обсудить и сравнить с другими пользователями найденные им алгоритмы и способы решения.
Участвуйте в играх и квестах: например, chekio — это игра с заданиями разных уровней сложности и встроенной средой программирования или квест python challenge, в котором надо составить алгоритм, чтобы перейти к следующему шагу. Поискать задачки и упражнения также можно в соответствующем хабе на Хабре.
Напишите собственные несложные программы. Например, настроить автоматическую сортировку файлов по папкам или создать собственный сервер.
Читайте также: История Ларисы Петровой, которая выучила Python на карантине и теперь работает в консалтинге
Что дальше?
Python-разработчик — востребованная профессия с высокими зарплатами. Свои первые заказы можно искать на онлайн-биржах, например fl.ru, weblancer.net, workzilla, или в Telegram-каналах с удаленной работой: Finder.vc, HomeWork и других.
Начинающий Python-разработчик в Москве получает от 80 тыс. рублей, в регионах в среднем от 50 тыс. рублей. По данным cервиса SuperJob, в январе 2021 года максимальная зарплата Python-разработчика в Москве может достигать 400 тыс. рублей, в Санкт-Петербурге, Екатеринбурге и Владивостоке — 350 тыс. руб.
От джуниора, помимо знания синтаксиса и основных библиотек, работодатели ждут умения быстро осваивать новый материал, вникать в суть задания, понимать требования и быть готовым к рутинным задачам.
Карьерный рост зависит от компаний, в которых работает специалист, от его личных особенностей, от наличия опытных коллег, у которых можно учиться и от владения soft skills.
Fullstack-разработчик на Python
Получите навыки программирования, освойте бэкенд на Python и фронтенд на JavaScript, чтобы стать востребованным специалистом в IT.
Изучение Python с нуля. Как? Где? Зачем?
За каждой технологией стоит разработчик, ответственный за ее появление. Например, систему оплаты, которую вы использовали, чтобы оплатить покупку, тоже создал какой-то программист. Разработчики используют компьютеры, чтобы решать проблемы. Часто они делают это в командах, когда проблемы чересчур комплексные.
Для создания программ используют языки программирования. Python — один из самых популярных сегодня, язык общего назначения, используемый в самых разных сценариях. Умение программировать с помощью Python — крайне полезный навык.
В этом руководстве рассмотрим рекомендации относительно того, как учить Python и на чем сделать акценты в процессе.
Зачем учить Python?
Python используется для самых разных сценариев — от создания веб-приложений до анализа данных и решения математических проблем. Его любят как опытные программисты, так и начинающие. И есть масса причин начать учить этот язык.
Зная Python, вы будете востребованным. Умение программировать поможет «оставаться на плаву» по мере того, как мир развивается. Одна только работа в сфере разработки программного обеспечения должна вырасти на 21% за следующие 10 лет.
Бюро статистики труда США оценивает этот показатель как «намного стремительнее среднего». Учитывая количество разработчиков, использующих Python, знание этого языка поможет заложить фундамент в этом направлении.
Python похож на английский. Многие разработчики отмечают, что Python легко учить, потому что он похож на английский. И это правда, ведь язык был спроектирован, чтобы быть лаконичным. Если вы только учитесь программировать, то Python — отличный выбор для старта.
Python широко используется. Такие организации, как Quora, YouTube, Dropbox и IBM всерьез полагаются на Python в своем бизнесе, потому что он гибкий, мощный и простой. Вы также можете использовать язык для решения сложных проблем.
За сколько можно выучить Python?
Скорость изучения Python зависит от вашего расписания и того, что вы понимаете под словом «учить».
Существует не так уж и много людей, о которых можно было бы сказать, что они знают Python всецело. Объем знаний сильно зависит от того, для чего вам нужны эти знания.
Если вы хотите стать специалистом по машинному обучению, то перед вами лежит довольно долгий путь. Но начнем с того, сколько займет знакомство с базовым пониманием языка.
В среднем изучение основ занимает 6-8 недель. Это позволит понимать большую часть строк, написанных с помощью этого языка. Если же у вас в планах data science или любая другая специализированная отрасль, то лучше сразу закладывать месяцы и даже годы.
Можно расписать план обучения приблизительно на 5-6 месяцев. Это подойдет в первую очередь тем, кто работает полный день, и может проводить у компьютера 2-3 часа. Сегодня вы учите что-то, а завтра — практикуетесь.
Однако важно практиковаться каждый день, чтобы быть уверенным в том, что вам удастся получить нужные знания за определенный промежуток времени. В любом случае этот режим легко подстраивать, пожертвовав, например, временем, которое вы тратите на просмотр сериалов.
Для чего нужен Python?
Python — это язык программирования общего назначения, что значит, что он используется в самых разных отраслях. Чаще всего его применяют:
Для Python есть внушительный набор библиотек, которые расширяют язык. Это подразумевает наличие огромного числа сообществ, использующих Python для самых разных целей. matplotlib, например, нужна для data science, а Click — для написания скриптов.
За сколько можно выучить основы?
Изучение основ Python займет как минимум три месяца. При условии уделения минимум 10 часов обучения в неделю.
Но три — это не конкретное число. Если вы захотите погрузиться в какую либо из библиотек, то быстро обнаружите, что общее время увеличивается. Одну только matplotlib можно учить несколько недель, и это всего одна библиотека.
Чем больше времени вы посвящаете обучению, тем быстрее вы будете учиться. Базовые вещи можно разобрать и за несколько дней. Но если вы хотите писать сложные и длинные программы, то сразу ориентируетесь на три месяца.
Лучший способ изучить Python бесплатно
Итак, вы решили изучать Python. Теперь разберемся с тем, как сделать это быстро.
Учитывая количество разработчиков, использующих этот язык, недостатка в обучающих материалах нет. Однако ресурсы — это не главное. Вот что еще вам потребуется.
Шаг 1: определение мотивации
Прежде чем начать изучать программирование на Python, определитесь с мотивацией. Это может показаться не столь важным, однако стоит понимать, с какой целью вы учитесь.
Пусть Python и является относительно легким языком, сам процесс обучения требует времени и энергии. И наличие мотивации поможет оставаться сфокусированным.
Вы хотите начать карьеру разработчика? Или стремитесь разбираться в современных технологиях? Это — хорошие причины, чтобы начать.
Шаг 2: изучите основы Python
Вы можете быть искушены идеей сразу же приступить к разработке сайта, но такой подход не работает. Вы будите тратить часы на устранение ошибок, возможно, разочаруетесь в программировании. Решите — «это не мое».
Для начала лучше изучить основы. А время для собственных проектов всегда будет.
Давайте рассмотрим план изучения Python с нуля:
Онлайн-курсы по Python
Бесплатный доступ к курсам Skillbox
Онлайн-университет Skillbox открывает 7 дней бесплатного доступа к курсам и интенсивам. Я всегда рекомендую попробовать начать программировать бесплатно. Вы будите уверены, что это действительно вам нравится: получается, подходит язык и хочется писать код всю жизнь.
Udemy — глобальная платформа для обучения онлайн
Udemy — глобальная платформа для обучения и преподавания онлайн, где миллионы студентов получают доступ к необходимым знаниям, которые помогают им добиться успеха. Только по теме «python» доступно почти 2000 курсов для начинающих.
Сайты-справочники и ютуб
PythonRu.com
На нашем сайте более 300 статей и уроков по программированию на python. Вы можете узнать что-то конкретное или пройти серию уроков. Например:
Русскоязычные Youtube каналы
Ютуб один из лучших вариантов изучения программирования. Не спешите учить python «за час», лучше посмотрите эти каналы:
Исключительно видео формат не все воспринимают. Если на ютубе не получилось, не опускайте руки, пробуйте текстовые материалы.
Python на Хабре
Множество статей «от разработчиков для разработчиков». Здесь вы найдете последние новости, обзоры и исследования которые касаются Python. Кроме этого, на Хабре есть несколько переводов курсов зарубежных авторов.
Книги по Python
Изучаем Python. Программирование игр, визуализация данных, веб-приложения
Эта книга посвящена основам Python: инструкциям if, кортежам и так далее. Из нее вы также узнаете о том, как использовать сторонние библиотеки.
Python. Книга рецептов
Эта книга содержит набор рецептов для Python-программиста. Из нее вы узнаете о том, как использовать язык в разных сценариях. Она также включает код, который поможет в изучении синтаксиса.
Автоматизация рутинных задач с помощью Python
Эта книга нужна тем, кто хочет расширить свои знания Python и уже знаком с основами. С ее помощью вы научитесь писать простые, но мощные скрипты, которые автоматизируют скучную рутину.
После изучения основных тем можно переходить к изучению машинного обучения и data science.
Большая часть современных руководств посвящена Python 3, потому что Python 2 уже отжил свое.
Шаг 3: создание проектов
Лучший способ научиться программировать — разрабатывать собственные проекты. Это помогает применять полученные знания и учиться, пробуя новое.
Чем больше вы пишите на Python, тем больше учитесь. Вы ставите цель, следуете ей и одновременно получаете новые навыки.
И даже это еще не все. Это также помогает развивать свое портфолио. А с его помощью вы сможете предлагать свои услуги работодателям.
Но прежде чем вы начнете создавать что-то масштабное, попробуйте с чего-нибудь попроще. Главное — создавать что-то, что развивает ваши способности.
Советы по созданию первых проектов
Единственное, что ограничивает вас в отношении собственного проекта — это воображение. Вы можете создать что угодно: сайт, чтобы рассказывать о любимых фильмах, алгоритм для предсказывания цены на авокадо и что-либо еще. Если же придумать что-нибудь не получается, то вот некоторые советы:
Главное — начинать с малого. Например, вы можете создать трекер привычек. Вот еще несколько идей для проекта:
Шаг 4: Развивайтесь для создания более сложных проектов
Создав несколько простых проектов, вы готовы переходить к боле сложным. Это может быть в том числе функциональное расширение уже существующих.
Предположим, ваш первый проект был сайтом со списком фильмов. Следующим шагом может быть добавление возможности пользователям создавать собственные списки.
Вот какие вопросы стоит задавать себе, рассматривая идеи для проектов:
Вам всегда должно быть интересно работать над проектами. Если столкнулись с препятствием, просите о помощи. Для улучшения навыков нужно просто практиковаться.
Выводы
В начале своего пути изучите основы языка. Познакомьтесь с синтаксисом, условными конструкциями, циклами и списками.
После этого переходите к созданию простых проектов. Это поможет развивать навыки на практике и добавлять результаты в свое портфолио.
Изучение Python требует настойчивости, усилий и времени. Однако этот навык вы сможете использовать в самых разных сферах своей жизни.
Как изучить Python самостоятельно и бесплатно: алгоритм
Отдел продаж проклял нас за эту статью! От вас — пара часов в день, от нас — список бесплатных материалов для входа и прокачки в Python.
Альберто Блинчиков для Skillbox Media
Python — основной язык в Data Science и один из трёх главных языков в веб-разработке — вместе с PHP и JavaScript. Кроме того, он широко используется для администрирования сетей, автоматического тестирования, создания приложений и даже 3D-анимации.
Ко всему прочему, Python считается лёгким в изучении: у него десятки тысяч подключаемых библиотек на все случаи жизни, глобальное сообщество разработчиков и нереальное количество учебных материалов.
Так что если вы решаете, с какого языка вам вкатиться в программирование, то Python — ваш кандидат!
Как убедиться, что Python — отличный язык для старта в разработке? Простой алгоритм:
Кандидат философских наук, специалист по математическому моделированию. Пишет про Data Science, AI и программирование на Python.
Окей, Python! Дальше-то что?
Мы собрали для вас ссылки на обучающие материалы, которые накопились за годы работы Skillbox. Они бесплатны и разбиты по трём направлениям: основы, приложения, Data Science. Внутри каждого направления статьи отсортированы по возрастанию сложности: от простых до заковыристых.
Как вам выучить Python по нашим материалам:
Настало время добрых советов — часть из них могут показаться банальными, но они и правда работают!
Выделите на занятия 1–2 часа ежедневно, чтобы знания не успевали выветриваться (согласно кривой забывания), и постарайтесь продержаться в таком темпе три недели — говорят, за этот срок вырабатывается привычка.
Не бойтесь ошибок. Их будет много — и в процессе обучения, и когда вы станете настоящим программистом. Воспринимайте ошибки как повод впасть в депрессию узнать что-то новое. Цикл вашего обучения должен выглядеть приблизительно так:
Только учтите — статьи и вебинары могут не отражать самые новые фишки языка. Что-то могло измениться: исчезли команды, обновились библиотеки, сервисы стали другими. Это не помешает учиться, но в каких-то мелочах придётся разобраться самостоятельно — и да, это часть ежедневной работы программиста.
Python: основы
С помощью этих материалов вы изучите Python на базовом уровне: установка интерпретатора, синтаксис языка, импорт библиотек, основные типы данных и операции над ними. Кстати, этого вполне достаточно, чтобы создавать довольно сложные и полезные программы.
Установка
Программировать на Python можно на своём компьютере, скачав и установив дистрибутив (рекомендуем Anaconda или PyCharm ), либо в браузере, с помощью специальных сервисов (например, Google Colab ).
Первые шаги
Инструменты и фишки
Хороший программист — любопытный программист. Знание фишек и неочевидных нюансов языка — один из признаков хорошего программиста, пусть и начинающего.
Продвинутые возможности
Python снисходителен к новичкам — потому что позволяет решать какие-то задачи достаточно небрежно, жертвуя чистотой кода в обмен на скорость разработки. Но это не значит, что правильного и красивого решения не существует.
Python: приложения
Можно проматывать и ускорять видео, пересматривать сложные места — записи именно для этого и сделаны.
Считаем калории и пишем голосового ассистента
Анастасия Борнева, ведущий исследователь данных в Сбербанке, демонстрирует процесс создания нескольких простых программ в PyCharm. Бонусом — советы по началу карьеры в Python.
«Нет неподходящего возраста, есть неправильно преподнесённое резюме».
Подбираем пароли и работаем с сетью
Никита Левашов, технический директор в Lia, учит основам хакинга на Python.
Создаём мессенджер с формами и интерфейсом
Эмиль Богомолов, инженер-исследователь из Сколтеха, показывает, как написать мессенджер на питоне.
Python: Data Science
Наверняка кто-то уже написал статью о причинах популярности Python среди дата-сайентистов. Эти причины нам, по правде сказать, не слишком важны, просто запомним, что на данный момент Python главный язык в науке о данных.
Если вы планируете карьеру в этом направлении, то в дополнение к основным вебинарам прочитайте статьи:
Первые модели
Делаем умного чат-бота
Николай Герасименко, ведущий исследователь данных в «Сбере», научит вас делать умных чат-ботов.
Пишем зрячую нейросеть
Уже знакомый нам Никита Левашов покажет, как сделать приложение с нейронкой внутри.
Интенсив «Пишем нейросеть для распознавания предметов и слежки»: первый день, второй день, третий день.
Что в итоге
Вдумчивое освоение указанных материалов даст вам достаточно навыков, чтобы претендовать на позиции стажёра или, если повезёт, даже джуниора, в зависимости от требований в конкретной компании.
Самое главное — не останавливаться. Путь программиста — это путь постоянного обучения, и Python-программисты не исключение. Эта статья — лишь начало вашего путешествия в огромный мир IT. Заметим, что совершенно необязательно идти туда в одиночестве.
На курсе «Профессия Python-разработчик» в Skillbox вы получите ещё больше структурированных знаний и концентрированного опыта. Вас ждут общение с единомышленниками, персональные консультации от действующих разработчиков и гарантированное трудоустройство по окончании обучения. Приходите, и да пребудет с вами дух Python! Import this!
Anaconda — комплект инструментов (дистрибутив) для языков Python и R, с упором на Data Science и машинное обучение. PyCharm — интегрированная среда разработки на Python, включает в себя мощный редактор кода, многочисленные плагины и поддержку популярных фреймворков (например, Django).
Google Colab — сервис от Google Research, позволяющий запускать код на Python прямо в браузере.
Библиотеки в Python — готовые наборы программ и функций, которые помогают решать специальные задачи: рисовать графики и картинки, исследовать данные и парсить сайты, вычислять квадратный корень или секансы с косекансами. Строго говоря, Python чуть менее чем полностью состоит из библиотек.
PyCharm — популярная и очень удобная среда разработки (IDE) для Python от компании JetBrains.
Легкий способ выучить Python с нуля
Ф ундамент любого программирования — знание языка. Python, в отличие от классических инструментов (к примеру — С), не такой зубодробительный. Порог вхождения в «змеиный язык» имеется, но он минимальный.
Python под силу освоить любому человеку, если набраться терпения и проявить немного усердия. Все, что требуется новичкам — дать дельные советы.
О главной проблеме обучения Python
Классическая ситуация: человек, который знаком с миром программирования только по имени основателя Microsoft, набирает в поисковике соответствующие запросы об обучении «Питону». Логично, что пользователь открывает первые ссылки. В наиболее популярных статьях дается «избитый» совет — начать читать «классику» в виде Марка Лутца и Марка Саммерфилда.
Такой подход в корне неверен 🙅♀️
Обучение по книгам предложенных авторов (особенно это касается новичков) с самого начала стопорит процесс. Человеку, который не разбирается в тематике, предлагают на прочтение книгу объемом около 1000 страниц. Чтения можно поделить на следующие этапы:
Что дальше? 🤔 После 200-й страницы вы попросту перестает читать нудную литературу и забросите изучение Python до лучших времен.
Авторы наподобие Марка Лутца или Марка Саммерфилда — это полезное, но крайне трудное чтиво для начинающих. Советовать сразу же переходить на литературу в тысячу страниц — признак дурного тона.
Ранний этап должен происходить по другому сценарию. Человеку, который желает изучить «Питон», нет смысла изучать тонкости базовых типов данных. Ключевое значение имеет интерес и вовлечение.
Новичку необходимо вовлечься в код, «прочувствовать» его
Нет смысла требовать от ученика досконального знания особенностей работы интерпретатора. Гораздо больший эффект будет иметь запуск первой программы «Hello World».
Проверенный способ освоить Python с нуля
Рецепт успеха состоит из конкретных этапов обучения, которые нельзя пропускать. Человек должен последовательно выполнить каждый шаг, чтобы чувствовать себя комфортно при работе с «Питоном». Процесс обучения состоит из следующих стадий:
1. Изучение основ программирования
Если человек ни разу не сталкивался с программированием, то имеет смысл начать с самых азов. Достаточно прочитать пару статей в интернете на тему » базовое программирование «. Альтернативные варианты — бесплатные курсы на русском языке. Хорошие варианты курсов — CS50 или другие обучающие каналы на Youtube.
2. Выбор редактора
Когда азы программирования уже «устаканились» в голове, стоит перейти к самому легкому этапу — выбору IDE.
IDE — интегрированная среда разработки, в которой пишется код
Грубо говоря, IDE это редактор, заточенный под написание программного кода. Программу на «Питоне» можно писать и в «блокноте». Однако IDE предоставит вам огромный функционал — это различные подсказки, автодополнения кода, автоформатирование и т.д. Весь этот функционал поможет начинающему Python-программисту писать код.
Среди редакторов отдельным особняком стоит PyCharm от компании JetBrains.
Данный инструмент рекомендуется как новичкам, так и опытным программистам.
Конкретные возможности PyCharm:
PyCharm крайне быстр. Интерфейс редактора «user-friendly». Новичку будет трудно потеряться в удобном и комфортном функционале данного редактора.
Интересный факт — PyCharm используется в NASA 😎
Существуют и другие IDE, на которые также стоит обратить внимание:
3. Чтение литературы
Чтение литературы — «сердцевина» всего обучения. От человека требуется только две вещи: умение читать и немного усердия. Все остальное придет в процессе чтения.
☝️ Важный момент касается методики чтения. «Горячим головам», которые могут читать книги взахлеб на одном лишь интересе имеет смысл немного «охладиться». Конечно, никто не запрещает читать пособия за один присест, но есть более эффективный способ обучения:
Данный способ проверен тысячами начинающих разработчиков. Вполне вероятно, что кто-то из прошлых новичков уже стали сеньорами «Питона». Это самый эффективный подход к чтению литературы, который никогда не стоит сбрасывать со счетов.
Львиная доля новичков воспринимает только непосредственные строки родного языка, а примеры кода пропускаются на «черный день». Такая методика плохо работает по ряду причин:
Если пропустить код, то пропустится самое интересное и наглядное место в литературе.
4. Практика
Следующий этап — практика. Python — это в первую очередь язык. Крайне важно знать основы синтаксиса и грамотно писать код. Для того чтобы отточить навык написания скриптов на Python, подойдут видео на YouTube, в которых люди последовательно пишут программу в реальном времени. Достаточно повторять за ними. Вот пример одного из них.
В чем смысл повторять за Youtube блогером?
Отличный вариант для практики — написание с нуля собственного небольшого проекта (pet project). Выберите простую тему с которой справитесь, и доведите ее до минимально жизнеспособного продукта.
5. Изучение чужого кода
На «Гитхабе» можно просмотреть исходники крупных библиотек. Постепенное изучение структуры даст базовое понимание организации проекта. Вы будете лучше воспринимать код и постепенно перенимать «best practices» в свои проекты.
Если заниматься изучением языка хотя бы 2-3 часа в день, то уже через месяц можно писать простенькие скрипты на Python. Но все зависит от вашей обучаемости и мотивации.
Ключевая рекомендация – сразу выполняйте на практике то, что изучаете
И желательно, чтобы задачи, которые вы будете решать на «Питоне» были приближены к реальным.