Выучить Python можно быстро. Насколько быстро — зависит от того, чего конкретно вы хотите достичь с его помощью и сколько времени можете выделить на регулярное изучение и практику. Профессионал с десятилетним стажем, который обучает языку последние пять лет, составил roadmap из восьми последовательных этапов обучения для всех начинающих программистов.
Содержание
Эта статья — пересказ оригинальной статьи с нашими дополнениями.
Сначала хочу сделать некоторые предположения о вас и причинах, которые побудили прочитать эту статью. Вот на что мы рассчитываем на старте:
Этот материал написан для начинающих. В нем есть советы и стратегии, чтобы любой мог изучать Python самостоятельно и максимально эффективно. Но если у вас возникнут трудности при изучении, то хороший ментор поможет вам в изучении.
Если вас интересуют базовые основы программирования на Python, то обучение может занять не более трех-четырех недель при регулярной практике. Если же вы заинтересованы в освоении Python для выполнения сложных задач или реальных проектов для смены профессии, то это займет уже гораздо больше времени.
У кого-то на это уходит пару месяцев, но обычно гуманитарий овладевает языком программирования (при должном старании) примерно в течение года. В этой статье приведены советы и лучшие ресурсы, которые помогут получить знания по программированию на Python в максимально короткие сроки.
Если вы задаетесь вопросом, сколько будет стоить изучение Python, то ответ будет: «зависит от ситуации». В интернете есть большой выбор бесплатных ресурсов, не говоря уже о различных книгах, курсах и платформах, которые опубликованы в электронном виде специально для начинающих. Но в целом, можно сказать, изучение языка программирования — это довольно бюджетное увлечение.
Другой вопрос, который может возникнуть: насколько сложно выучить Python? Это тоже зависит от ситуации. Если на старте у вас есть опыт программирования на другом языке, например, R, Java или C++, то вам, скорее всего, будет легче быстро выучить Python, чем тому, кто раньше не программировал вообще.
Изучение такого языка программирования, как Python, похоже на изучение естественного языка. Сначала вы запоминаете базовую лексику и изучаете правила синтаксиса . Со временем добавляете в свой репертуар новые слова и пробуете новые способы их использования. С изучением Python все то же самое.
Сейчас вы уже думаете: «Здорово! Можно выучить Python быстро, дешево и легко. Просто скажите, что читать, и направьте меня по нужному пути». Не так быстро! Есть еще четвертая вещь, которую нужно учесть, и это то, как именно учить Python.
Исследования в области обучения показали, что не все люди учатся одинаково. Одни лучше всего учатся, когда читают что-то самостоятельно, другие — когда видят и слышат (иногда — лучше в группе из единомышленников). Некоторым нравится учиться в игре, а не на курсах или лекциях. Изучая приведенный ниже список ресурсов, учитывайте свои предпочтения в обучении.
А теперь приступим к работе. Ниже приведены восемь базовых советов, которые помогут быстро выучить Python. Это общая пошаговая стратегия, которую можно дополнять
Для начала надо изучить основы. Без их понимания вам будет трудно работать над сложными проблемами, проектами или сценариями использования. Примеры основ Python включают такие направления:
Все эти основы можно быстро изучить на различных сайтах: docs.python.org, RealPython.org, stavros.io, developers.google.com, pythonforbeginners.org. Или записаться на специальный курс от наших друзей Hillel и Powercode. Они качественно подают информацию и объясняют на примерах.
Подробнее см. раздел «Веб-сайты» ниже.
Прежде чем начать изучать Python, определите цель своего обучения. Трудности, с которыми вы столкнетесь в начале, будет легче преодолеть, если вы будете четко помнить о цели. Кроме того, вы будете знать, на каком учебном материале сосредоточиться, а какой можно пропустить.
Например, если хотите изучить Python для анализа данных, то надо будет выполнять упражнения, писать функции и изучать библиотеки Python, которые облегчают анализ данных. Ниже приведены типичные примеры целей изучения Python, которые могут быть для вас актуальны:
Ресурсы по изучению Python можно разделить на три основные категории:
Очные или удаленные платные курсы тоже один из вариантов, но мы их не будем рассматривать в этом посте (мы же обещали бюджетное и доступное всем обучение).
Интерактивные ресурсы широко распространились е в последние годы благодаря популяризации интерактивных онлайн-курсов, которые предоставляют практические задачи по кодингу и объяснения. А если вам кажется, что вы кодите, то это потому, что вы действительно кодите. Интерактивные ресурсы обычно доступны бесплатно или за символическую плату — или есть бесплатная пробная версия перед покупкой.
Неинтерактивные ресурсы — самые традиционные и проверенные временем, например, книги (цифровые и бумажные) и веб-сайты («онлайн-учебники»). Многие начинающие изучать Python предпочитают их из-за привычного и удобного вида. Есть множество таких неинтерактивных ресурсов, и большинство из них полностью бесплатны.
Видеоресурсы стали популярны в последние десять лет благодаря МООКам (массовым открытым онлайн-курсам) и напоминают университетские лекции, записанные на видео. Более того, они часто поддерживаются или продвигаются ведущими университетами.
Сейчас, например, на YouTube есть огромное количество видеоресурсов по различным предметам, включая программирование на Python. Некоторые из этих видеоресурсов представляют собой предварительно записанные курсы, а другие транслируются в прямом эфире. Например, компания General Assembly выпускает такой курс по Python, который охватывает основы языка за одну неделю.
Ниже собран список ресурсов, которые помогут быстро освоить Python. Они относятся к категориям, указанным выше, и охватывают как минимум основы Python. В списке отмечены звездочкой (*) бесплатные ресурсы.
И сразу замечание: привыкайте к английскому языку, это значительно поможет, когда вы перейдете к этапу поиска работы, ведь в процессе учебы вы прекрасно схватите всю терминологию на английском. Без английского языка зарабатывать на программировании довольно сложно, поэтому сразу начните учиться на английском. Это значительно улучшит ваши шансы на крутую работу.
Неинтерактивные ресурсы делятся на две подкатегории: книги и веб-сайты.
Большинство книг предназначены для программистов, которые заинтересованы в глубоком изучении Python, или для мастеров Python, которые ищут надежные справочные материалы («поваренные книги») или специализированную литературу. Ниже я перечислил только те книги, которые РЕАЛЬНО полезны для начинающих.
Я решил включить только те, которые имеют явное преимущество в плане удобства или учебной программы. Все эти ресурсы бесплатны.
Видеоресурсы становятся все более популярными, и на то есть веские причины: они удобны. Зачем читать учебник или учебное пособие, если можно комфортно изучить тот же материал в видеоформате на компьютере или мобильном устройстве? Видеокурсы делятся на две подкатегории: предварительно записанные и живые.
General Assembly: Этот известный живой онлайн-курс от General Assembly избавляет от всех догадок или неточностей при изучении Python. В General Assembly у вас есть подготовленная и всеобъемлющая программа изучения Python, живой преподаватель, помощник, а также сеть коллег и выпускников, с которыми можно общаться во время и после курса.
В дополнение к изучению языка Python полезно изучить одну или две библиотеки Python. Библиотеки — это наборы специализированных функций, которые служат «ускорителями» для стандартных задач разработки. Без них вам пришлось бы писать собственный код с нуля для выполнения специализированных задач. Например, Pandas — очень популярная библиотека для работы с табличными данными. Numpy помогает выполнять математические и логические операции над массивами.
Для описания популярных библиотек потребуется отдельный пост, а пока ознакомьтесь с этой страницей Python.org о стандартных библиотеках Python и этой страницей GitHub о дополнительных библиотеках Python.
Вы можете загрузить программу установки Python с сайта Python Software Foundation, а затем искать и загружать дополнительные библиотеки; или можно загрузить программу установки Anaconda, которая уже поставляется со многими пакетами, которые вы будете регулярно использовать, особенно если планируете использовать Python для анализа данных или науки о данных.
Вам необходимо установить интегрированную среду разработки (IDE), которая представляет собой приложение, позволяющее создавать сценарии, тестировать и выполнять код на Python.
Когда речь идет об IDE, правильной будет та, которой вам больше всего нравится пользоваться. Согласно различным источникам, наиболее популярными IDE/текстовыми редакторами Python являются PyCharm, Spyder, Jupyter Notebook, Visual Studio, Atom и Sublime. Сначала хорошие новости: почти все они бесплатны, так что попробуйте несколько, прежде чем остановиться на одном.
Далее «плохие» новости: каждая IDE/текстовый редактор имеет немного отличающийся пользовательский интерфейс и набор функций, поэтому потребуется некоторое время, чтобы научиться пользоваться каждой из них, чтобы наконец осознанно выбрать что-то свое.
Для новичков в Python я рекомендую кодировать в Jupyter Notebook. У него простой дизайн и упорядоченный набор возможностей, которые не будут отвлекать и облегчат практику и создание прототипов на Python. Он также поставляется со специальным дисплеем для отображения кадров данных и графиков. Если вы загрузите Anaconda, Jupyter Notebook будет предустановлен. Со временем я советую вам попробовать другие IDE, которые лучше подходят для разработки (Pycharm) или науки о данных (Rodeo) и позволяют интегрироваться (Sublime).
Кроме того, подумайте об установке обработчика ошибок или автокомплитера в дополнение к вашей IDE, особенно если вы работаете над длительными проектами. Он укажет на ошибки и поможет вам писать код быстрее. Хорошим вариантом является Kite, к тому же он бесплатный и интегрируется с большинством IDE.
Когда вы, будучи новичком, работаете над упражнениями, примерами и проектами на Python, одним из самых простых способов устранения ошибок будет изучение опыта других разработчиков Python. Просто запустите быстрый поиск в интернете и укажите ключевые слова, касающиеся вашей ошибки.
Например, «how to combine two lists in Python» или «Python how to convert to datetime» — вполне приемлемые поисковые запросы, которые приведут вас на несколько популярных форумов, таких как StackOverFlow, Stack Exchange, Quora, Programiz и GeeksforGeeks.
Это та часть, которую большинство людей пропускают, что приводит к неудачам или задержкам. Теперь все, что вам осталось, это составить расписание. Я рекомендую вам составить расписание минимум на две недели, чтобы распределить время между занятиями и обеспечить себе достаточно времени для адекватного изучения основ Python, практики кодирования в IDE и устранения неполадок в коде. Можно двигаться вперед такими двухнедельными спринтами, при этом очень важна систематичность занятий.
Часть сложности (и удовольствия) изучения Python или любого другого языка программирования заключается в устранении ошибок. После первых двух недель вы будете поражены тем, как далеко вы продвинулись, и у вас будет достаточно практики, чтобы продолжить изучение более продвинутого материала, предоставляемого выбранным вами ресурсом. По мере накопления опыта и систематичности занятий вы будете обретать все большую уверенность в том, что делаете. Пока это самообучение постепенно не станет самоподдерживающимся процессом, превратившись в еще одну (хочется верить, что полезную) привычку.
Мы определили минимальные сроки обучения, вы знаете, как выбрать цель обучения, у вас есть список учебных ресурсов и методов обучения, из которых реально можно выбирать, и вы знаете, какие еще соображения нужно будет учесть в процессе обучения.
Я надеюсь, что вы воспользуетесь этими советами, чтобы ускорить и упорядочить свое обучение Python!
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…