Легкий способ выучить Python

0
2178
views

Перевод статьи «How to Learn Python The Easy Way (And Not the Way I Did)».

Предполагается, что Python — один из самых простых в изучении языков программирования. Когда я впервые попытался освоить этот язык и с треском провалился, меня особенно угнетало именно осознание того, что он считается простым. Когда не удалась вторая попытка, стало еще хуже.

На как оказалось (и как я понял с третьей попытки), Python действительно доступен даже для такого гуманитария, как я. Просто нужно подойти к нему правильно.

Как мне не удалось выучить Python… в первый раз

Впервые я попытался изучить Python почти десять лет назад. Я не совсем понимал, зачем мне это нужно. При помощи Python я мог бы, например, автоматизировать часть моей работы или, возможно, написать небольшое приложение. Знание этого языка просто казалось полезным навыком, который хорошо бы иметь.

Поэтому я скачал «Learn Python the Hard Way» в электронном виде (на тот момент это было бесплатно), и начал прорабатывать этот учебник.

Первой преградой на моем пути стала установка Python в моей системе. В то время большинство инструкций по установке были написаны для опытных программистов, и мне потребовалась целая вечность, чтобы все это проделать.

Я хотел научиться писать код Python, но первое, что мне пришлось сделать, это убить пять часов на борьбу с командной строкой. В результате я был демотивирован еще до того, как начал.

Когда я наконец все наладил, можно было приступить к написанию кода по книге. Некоторое время я потихоньку собирал по кусочкам очень простую текстовую игру.

Но столкнувшись с первой реальной проблемой, я все это забросил. А ведь проблемы в программировании неизбежны; постоянно что-то не работает, и совершенно непонятно, почему.

Но у меня были дела поважнее, чем биться головой о клавиатуру и разгадывать непонятные сообщения об ошибках. Тем более, что моей конечной целью было создание игры, которая была мне безразлична и в которую никто и никогда не играл бы.

Как мне не удалось выучить Python… во второй раз

Несколько лет спустя я попробовал еще раз. На тот момент я работал журналистом. Я заинтересовался журналистикой данных и в частности сбором данных.

Я знал, что для этой работы мне понадобятся навыки программирования на Python, поэтому нашел себе платформу для онлайн-обучения (не скажу, какую) и записался на курс по Python для начинающих.

Как и большинство открытых онлайн-курсов, этот курс был построен в формате видео. Я смотрел лекцию по теме, связанной с Python, проходил тест на сайте курса, чтобы подтвердить, что усвоил материал, и переходил к следующему модулю.

Опытные программисты, вероятно, уже догадываются, что произошло дальше. Когда я попытался написать код Python для своих целей, у меня ничего не вышло.

Когда наблюдаешь за тем, как кто-то пишет код, кажется, что учишься. И тесты, на которых я набирал 100%, казалось, подтверждали, что материал я усваиваю хорошо.

Но разумеется, когда пришло время применить знания на практике, меня ждало разочарование. Я мог посмотреть видео и скопировать то, что делал лектор, но мне было очень трудно применить изученное в собственных проектах.

Также было трудно сохранять мотивацию, потому что я работал над вещами, которые не казались мне важными и нужными.

Я хотел научиться веб-скрапингу. Но вместо этого я пытался понять концепцию объектно-ориентированного программирования. Как это связано с моими целями? Мне это было непонятно. В общем, бросить учебу во второй раз тоже было легко.

Причины провалов

Если проанализировать мой опыт, не так уж сложно понять, почему я потерпел неудачу. В первый раз я допустил две большие ошибки.

  1. У меня не былочеткой цели. Зачем я изучал Python? Я этого не знал. Когда вы не знаете, зачем что-то делаете, очень легко бросить это делать при малейших трудностях. А рано или поздно трудности непременно возникнут.
  2. На старте у меня было слишком много проблем. В конечном итоге я все равно выяснил бы, как установить Python в мою систему. Но с учетом отсутствия опыта, когда я еще и print(‘Hello world!’) не написал, сложный процесс установки был серьезным демотиватором.

Когда вы изучаете что-то сложное (особенно если вы новичок), небольшие победы вам нужны как можно раньше. Они помогают поверить в то, что вы действительно можете сделать то, что задумали.

Поскольку мой путь в изучении Python начался с решения сложной задачи, причем даже не связанной с кодингом, никаких мотивирующих ранних побед я не одержал.

Во второй раз я избежал этих ошибок, но зато допустил несколько новых.

  1. Я не отрабатывал практические умения.Просмотр видео и прохождение тестов заставляли меня чувствовать, что я умею писать код, но на самом деле я не программировал. Когда я все же пытался писать код, у меня не получалось. Это был травмирующий опыт, ведь я думал, что уже умею это делать. Мне приходилось многократно прыгать по каждому видео, чтобы пересмотреть разные разделы и заново изучить нужные вещи.
  2. У меня была четкая цель, но не было четкого пути к ней. Я знал, что хочу заниматься журналистикой данных и веб-скрапингом, но я проходил общий курс Python для начинающих. Это означало, что я изучал вещи, которые могли иметь огромное значение для разработки программ, но не для журналистики данных. Мне зачастую было трудно связать изучаемые основы с тем, что я действительно хотел делать с кодом.

Кроме того, я допустил еще одну большую ошибку психологического свойства. Процесс изучения Python я воспринимал в черно-белых тонах. У меня как бы было два положения тумблера: либо я «изучил Python» (весь Python!), либо нет.

Это делало учебные перспективы пугающими. Всякий раз, когда я сталкивался с проблемой, это было неприятно само по себе, но кроме того дело усугублялось тем, что я представлял себе какую-то мифическую «финишную черту» в изучении Python, и этот финиш был очень, очень далеко.

Разумеется, мое восприятие было ошибочным. При изучении любого иностранного языка нет никакого момента, после которого можно утверждать, что вы точно его изучили. С языками программирования (и Python в том числе) дело обстоит точно так же. Их нельзя изучить досконально, полностью. Но, как и в случае с иностранными языками, для достижения ваших целей вам не обязательно свободно владеть Python.

Любой студент-первокурсник, прибывший в вашу страну по обмену, скажет вам, что даже умение спросить на местном языке «Сколько это стоит» и «Где здесь туалет» сильно повышает качество жизни.

То же касается и Python. Чтобы изменить свою жизнь, вам не нужно знать все (и даже все то, что относится к обязательным знаниям).

Но этот урок я усвоил случайно.

Как я собственно изучил Python (в некоторой степени, конечно)

К 2018 году я уже отказался от идеи изучить Python. Я дважды попробовал и дважды потерпел неудачу! Но потом я устроился на работу в Dataquest. Эта компания занимается обучением работе с данными в Интернете (в том числе обучает программированию на Python).

Моя новая работа не требовала навыков программирования, но я решил, что мне все же нужно испытать эту платформу. Мне нужно было понять наш продукт и прочувствовать его с точки зрения учащегося. Я подумал, что наверное смогу изучить достаточно, чтобы заниматься веб-скрапингом, как и планировал раньше.

Итак, с некоторым трепетом я создал учетную запись и начал наш курс Python for Data Science.

К моему удивлению, это было легко и интересно. Еще более удивительно было то, что совсем скоро я почувствовал себя в силах создавать какие-то проекты самостоятельно.

Я написал небольшой скрипт для сортировки писем. Также я использовал Python для быстрого анализа некоторых данных опросов. Я даже создал большой проект, связанный с веб-скрапингом, о котором мечтал еще будучи журналистом.

Я использовал и до сих пор использую Python для облегчения своей работы и улучшения своей жизни. Прошла пара лет. Я все еще начинающий программист, но уже могу собирать небольшие скрипты для упрощения задач и для решения проблем с анализом данных, которые у меня возникают по работе.

Это стало возможным потому, что я (скорее случайно, чем намеренно) наткнулся на способ изучения Python, который позволил избежать почти всех ошибок, допущенных в предыдущие разы.

  • У меня была четкая цель — изучить Python на уровне, достаточном для несложной работы с данными. Это позволило бы мне лучше понимать наших клиентов.
  • Мне не нужно было возиться с установкой Python, потому что Dataquest позволяет вам изучать и писать код прямо в окне браузера.
  • Проходя курс, я писал код, а не пассивно наблюдал за тем, как кто-то его пишет.
  • Программа обучения была специально разработана для работы с данными при помощи Python. Поэтому вся теория и все выполняемые мной упражнения были важны.
  • Я просто старался изучить то, что мне было нужно для моих целей, а не выучить весь Python.

Как упростить изучение Python

Анализируя свои ошибки и свой случайный успех, я прихожу к нескольким простым выводам. Чтобы изучить Python было проще:

Во-первых, определите свою цель. Почему вы хотите изучать Python? Что конкретно вы хотите с его помощью построить? Если у вас нет достойного ответа на этот вопрос, будет действительно сложно сохранять мотивацию.

Во-вторых, найдите способ учиться, делая то, чем вы хотите заниматься. Если вы можете найти учебный ресурс, обучающий Python и созданный специально для разработчиков игр — отлично. Но общие учебные ресурсы тоже могут сработать, если вы по ходу дела будете применять полученные знания, создавая какие-нибудь проекты для начинающих.

Ваше обучение программированию должно включать в себя собственно написание кода, и этот код должен делать то, что вам интересно.

В-третьих, не грузите себя установкой Python и множества его библиотек в вашей локальной системе.

Сейчас есть множество онлайн-платформ, позволяющих писать и запускать код в браузере. Постарайтесь максимально упростить для себя начало работы. Своей локальной средой вы сможете заняться позже.

В-четвертых, не пытайтесь «изучить Python». Это грандиозная долгосрочная цель, которая, возможно, недостижима: даже лучшие разработчики Python не знают его досконально.

Вместо этого попробуйте научиться использовать Python для создания простой версии вашего целевого проекта или одной его части. Затем узнайте, как при помощи Python усовершенствовать этот проект или как перейти к следующему шагу.

Разбивайте большие задачи на мелкие части и фокусируйтесь на создании чего-то конкретного. Так вы получите моральное удовольствие от завершения проекта, а это подкрепит вашу мотивацию.

Следуйте этим рекомендациям независимо от вашей личной причины изучения Python, и вы наверняка сможете достичь своих целей!

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here