Python — важный язык программирования, который необходимо знать — он широко используется в таких областях, как наука о данных, веб-разработка, разработка программного обеспечения, разработка игр, автоматизация. Но как лучше всего изучить Python? Это может быть сложно и болезненно понять.
Когда мы изучали Python, нас больше всего расстраивало то, насколько универсальными были все учебные ресурсы. Мы хотели узнать, как создавать веб-сайты с использованием Python, но казалось, что каждый учебный ресурс хотел, чтобы мы потратили два долгих, скучных месяца на синтаксис Python, прежде чем мы смогли даже подумать о том, что нас интересует.
Это несоответствие сделало изучение Python довольно пугающим для нас. Мы откладывали это на несколько месяцев. Мы посмотрели на код Python, но он был чуждым и запутанным:
from django.http import HttpResponse def index(request): return HttpResponse("Здравствуй, мир. Вы находитесь в индексе опросов.")
Приведенный выше код взят из руководства по Django, популярной среде разработки веб-сайтов на Python. Опытные программисты часто бросают вам фрагменты, подобные приведенным выше. «Это просто!» — обещают они.
Но даже несколько, казалось бы, простых строк кода могут сбивать с толку. Например, почему некоторые строки имеют отступ? Что django.http? Почему некоторые вещи указаны в скобках? Понять, как все сочетается, когда вы мало знаете Python, может быть очень сложно.
Проблема в том, что вам нужно понимать строительные блоки языка Python, чтобы построить что-нибудь интересное. Приведенный выше фрагмент кода создает представление, которое является одним из ключевых строительных блоков веб-сайта, использующего популярную архитектуру MVC. Если вы не знаете, как написать код для создания представления, на самом деле невозможно создать динамический веб-сайт.
Большинство руководств предполагают, что вам нужно изучить весь синтаксис Python, прежде чем вы сможете начать делать что-нибудь интересное. Это то, что приводит к месяцам, потраченным только на синтаксис, когда вы действительно хотите заниматься анализом данных, или созданием веб-сайта, или созданием автономного дрона.
Это то, что приводит к угасанию вашей мотивации и к тому, что вы просто отказываетесь от всего этого. Нам нравится думать об этом как об «скучном обрыве». Вы должны быть в состоянии взобраться на «скалу скуки», чтобы попасть в «страну интересных вещей, над которыми вы работаете» (лучшее название еще не принято).
Изучение синтаксиса Python не должно быть таким.
После того, как мы несколько раз столкнулись с «обрывом скуки» и ушли, мы нашли способ, который нам больше подошел. На самом деле, мы думаем, что это лучший способ изучить Python.
Что сработало, так это сочетание изучения основ и создания интересных вещей. Мы потратили как можно меньше времени на изучение основ, а затем сразу же погрузился в создание вещей, которые нас интересовали. В этой записи блога мы шаг за шагом расскажем, как воспроизвести этот процесс, независимо от того, почему вы хотите изучать Python.
Прежде чем вы начнете изучать Python онлайн, стоит спросить себя, почему вы хотите его изучать. Это потому, что это будет долгий и иногда болезненный путь. Без достаточной мотивации вы, вероятно, не справитесь. Например, мы проспали уроки программирования в средней школе и колледже, когда нам нужно было запоминать синтаксис, а у нас не было мотивации. С другой стороны, когда нам нужно было использовать Python для создания веб-сайта для автоматической оценки эссе, мы не спали ночами, чтобы закончить его.
Выяснение того, что вас мотивирует, поможет вам определить конечную цель и путь, который приведет вас к ней без скуки. Вам не нужно раздумывать точный проект, просто общая область, которая вас интересует, когда вы готовитесь к изучению Python.
Выберите интересующую вас область, например:
Определите одну или две области, которые вас интересуют, и вы готовы придерживаться их. Вы будете направлять свое обучение на них и в конечном итоге будете строить в них проекты.
К сожалению, этот шаг нельзя пропустить. Вы должны изучить самые основы синтаксиса Python, прежде чем углубляться в выбранную область. Вы должны потратить на это минимум времени, так как это не очень мотивирует.
Мы не могли не подчеркнуть, что вы должны тратить минимально возможное количество времени на основной синтаксис. Чем быстрее вы приступите к работе над проектами, тем быстрее вы научитесь. Вы всегда можете вернуться к синтаксису, если позже застрянете. В идеале вы должны потратить на эту фазу всего пару недель, и определенно не больше месяца.
Также небольшое примечание: изучайте Python 3, а не Python 2. К сожалению, многие ресурсы по «изучению Python» в Интернете по-прежнему преподают Python 2, но вам определенно следует изучить Python 3. Python 2 больше не поддерживается, поэтому ошибки и дыры в безопасности исправлены не будут!
После того как вы изучите базовый синтаксис, можно начинать создавать проекты самостоятельно. Проекты — отличный способ учиться, потому что они позволяют применить свои знания. Если вы не примените свои знания, их будет сложно сохранить. Проекты расширят ваши возможности, помогут узнать новое и помогут вам создать портфолио, которое можно будет показать потенциальным работодателям.
Однако проекты очень свободной формы на этом этапе будут болезненными — вы будете часто застревать, и вам нужно будет обратиться к документации. Из-за этого обычно лучше создавать более структурированные проекты, пока вы не почувствуете себя достаточно комфортно, чтобы делать проекты полностью самостоятельно. Многие учебные ресурсы предлагают структурированные проекты, и эти проекты позволяют создавать интересные вещи в тех областях, которые вам небезразличны, но при этом не дают вам застрять.
Давайте посмотрим на несколько хороших ресурсов для структурированных проектов в каждой области:
Выполнив несколько структурированных проектов в своей области, вы сможете перейти к работе над собственными проектами. Но прежде чем вы это сделаете, важно потратить некоторое время на изучение того, как решать проблемы.
Продолжение: Как выучить Python (шаг за шагом) к 2021 году. Часть 2