- Легкий способ выучить Python с нуля
- О главной проблеме обучения Python
- Проверенный способ освоить Python с нуля
- 1. Изучение основ программирования
- 2. Выбор редактора
- 3. Чтение литературы
- 4. Практика
- 5. Изучение чужого кода
- Легкий способ выучить Python 3: обзор книги
- Об авторе
- Содержание
- Вердикт
- Легкий способ выучить Python
- Хочешь знать больше о Python?
- Как мне не удалось выучить Python… в первый раз
- Как мне не удалось выучить Python… во второй раз
- Причины провалов
- Как я собственно изучил Python (в некоторой степени, конечно)
- Как упростить изучение Python
Легкий способ выучить Python с нуля
Ф ундамент любого программирования — знание языка. Python, в отличие от классических инструментов (к примеру — С), не такой зубодробительный. Порог вхождения в «змеиный язык» имеется, но он минимальный.
Python под силу освоить любому человеку, если набраться терпения и проявить немного усердия. Все, что требуется новичкам — дать дельные советы.
О главной проблеме обучения Python
Классическая ситуация: человек, который знаком с миром программирования только по имени основателя Microsoft, набирает в поисковике соответствующие запросы об обучении «Питону». Логично, что пользователь открывает первые ссылки. В наиболее популярных статьях дается «избитый» совет — начать читать «классику» в виде Марка Лутца и Марка Саммерфилда.
Такой подход в корне неверен 🙅♀️
Обучение по книгам предложенных авторов (особенно это касается новичков) с самого начала стопорит процесс. Человеку, который не разбирается в тематике, предлагают на прочтение книгу объемом около 1000 страниц. Чтения можно поделить на следующие этапы:
- Первые 40 страниц — история языка Python.
- Следующие полсотни страниц — рассказ про интерпретатор.
- Последующие 100 страниц — базовые типы.
Что дальше? 🤔 После 200-й страницы вы попросту перестает читать нудную литературу и забросите изучение Python до лучших времен.
Авторы наподобие Марка Лутца или Марка Саммерфилда — это полезное, но крайне трудное чтиво для начинающих. Советовать сразу же переходить на литературу в тысячу страниц — признак дурного тона.
Ранний этап должен происходить по другому сценарию. Человеку, который желает изучить «Питон», нет смысла изучать тонкости базовых типов данных. Ключевое значение имеет интерес и вовлечение.
Новичку необходимо вовлечься в код, «прочувствовать» его
Нет смысла требовать от ученика досконального знания особенностей работы интерпретатора. Гораздо больший эффект будет иметь запуск первой программы «Hello World».
Проверенный способ освоить Python с нуля
Рецепт успеха состоит из конкретных этапов обучения, которые нельзя пропускать. Человек должен последовательно выполнить каждый шаг, чтобы чувствовать себя комфортно при работе с «Питоном». Процесс обучения состоит из следующих стадий:
- Изучение основ программирования.
- Выбор редактора.
- Чтение литературы.
- Практика.
- Изучение чужого кода.
1. Изучение основ программирования
Если человек ни разу не сталкивался с программированием, то имеет смысл начать с самых азов. Достаточно прочитать пару статей в интернете на тему » базовое программирование «. Альтернативные варианты — бесплатные курсы на русском языке. Хорошие варианты курсов — CS50 или другие обучающие каналы на Youtube.
2. Выбор редактора
Когда азы программирования уже «устаканились» в голове, стоит перейти к самому легкому этапу — выбору IDE.
IDE — интегрированная среда разработки, в которой пишется код
Грубо говоря, IDE это редактор, заточенный под написание программного кода. Программу на «Питоне» можно писать и в «блокноте». Однако IDE предоставит вам огромный функционал — это различные подсказки, автодополнения кода, автоформатирование и т.д. Весь этот функционал поможет начинающему Python-программисту писать код.
Среди редакторов отдельным особняком стоит PyCharm от компании JetBrains.
Данный инструмент рекомендуется как новичкам, так и опытным программистам.
- бесплатный (версия 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 .
☝️ Важный момент касается методики чтения. «Горячим головам», которые могут читать книги взахлеб на одном лишь интересе имеет смысл немного «охладиться». Конечно, никто не запрещает читать пособия за один присест, но есть более эффективный способ обучения:
- Читаем теорию до появления примера кода.
- Закрываем книгу.
- Пробуем набрать код.
- Открываем книгу и читаем дальше.
Данный способ проверен тысячами начинающих разработчиков. Вполне вероятно, что кто-то из прошлых новичков уже стали сеньорами «Питона». Это самый эффективный подход к чтению литературы, который никогда не стоит сбрасывать со счетов.
Львиная доля новичков воспринимает только непосредственные строки родного языка, а примеры кода пропускаются на «черный день». Такая методика плохо работает по ряду причин:
- без кода не будет практики, что автоматически ударит на общем навыке программирования;
- пример кода неразрывно связан с повествованием книги.
Если пропустить код, то пропустится самое интересное и наглядное место в литературе.
4. Практика
Следующий этап — практика. Python — это в первую очередь язык. Крайне важно знать основы синтаксиса и грамотно писать код. Для того чтобы отточить навык написания скриптов на Python, подойдут видео на YouTube, в которых люди последовательно пишут программу в реальном времени. Достаточно повторять за ними. Вот пример одного из них.
В чем смысл повторять за Youtube блогером?
- Это отличный способ систематизировать знания . Вы пройдете с нуля до работающего приложения, охватив все этапы создания программы.
- Вы поймете, как грамотно писать код . Влогер комментирует его, объясняя, как и зачем он использует ту или иную конструкцию. По ходу написания вы будете узнавать новые конструкции, фишки, «best practices» и нюансы языка.
- Писать код по маленьким порциям проще (в отличие от статей, где часто выкладываются сразу большие куски кода).
Отличный вариант для практики — написание с нуля собственного небольшого проекта (pet project). Выберите простую тему с которой справитесь, и доведите ее до минимально жизнеспособного продукта.
5. Изучение чужого кода
В дополнении к практике, можно полазить по Python-библиотекам. Идеальный ресурс для такого занятия — Github .
На «Гитхабе» можно просмотреть исходники крупных библиотек. Постепенное изучение структуры даст базовое понимание организации проекта. Вы будете лучше воспринимать код и постепенно перенимать «best practices» в свои проекты.
Если заниматься изучением языка хотя бы 2-3 часа в день, то уже через месяц можно писать простенькие скрипты на Python. Но все зависит от вашей обучаемости и мотивации.
Ключевая рекомендация – сразу выполняйте на практике то, что изучаете
И желательно, чтобы задачи, которые вы будете решать на «Питоне» были приближены к реальным.
Источник
Легкий способ выучить Python 3: обзор книги
Привет всем, сегодня мы рассматриваем книжку, которую многие называют лучшим учебным пособием для новичков по изучению Python. Сейчас узнаем, действительно ли это так и стоит ли тратить время на ее прочтение.
Об авторе
Зед Шоу, как ни странно, ярый противник Python 3. Он утверждает, что этот язык не полон по Тьюрингу ввиду того, что код, написанный на Python 2, не запускается на виртуальной машине Python 3.
Он также считает, что строки нового типа слишком сложные, а Python 3 по итогу разрушит репутацию всего языка.
Тем не менее, он написал три книги по Python: два издания «Легкий способ выучить Python» и книгу, о которой идет речь в этой статье, — «Легкий способ выучить Python 3». Эти книги входят в цикл «Learn Code the Hard Way», который можно изучить по этой ссылке.
Сам Зед прославился своим веб-сервером для веб-приложений на языке Ruby под названием Mongrel. А в последнее время он заинтересовался искусством, о чем говорит его сайт https://zedshaw.art/.
Содержание
Особенность данной книги в подаче материала. Зед решил, что в учебнике не будет глав с чистой теорией, а поделил всю книгу на 52 упражнения. Конечно, перечислять их было бы долго, поэтому рассмотрим самые интересные:
- Упражнение 0. Настройка — неважно, какая у вас система: Windows, MacOS или Linux. Туториал написали под каждую из них, так что не запутаетесь.
- Упражнение 5. Дополнительно о переменных и выводе — так, у нас тут вывод, держим в памяти.
- Упражнение 7. Еще о выводе — хм, может это такая важная тема?
- Упражнение 8. Вывод, вывод — видимо, да, это реально важная тема.
- Упражнение 9. Вывод, вывод, вывод — да он помешан на выводе.
Да, действительно, вывод это важно. А автор подчеркивает это, и на нескольких упражнениях показывает всё, что нужно знать по этой теме. Продолжаем!
- Упражнение 22. Что вы теперь знаете? — небольшая, буквально трехстраничная, пауза. Она нужна для того, чтобы вы огляделись на проделанную вами работу. Вы поймете, сколько нового узнали и замотивируетесь на дальнейшее изучение языка.
- Обратите внимание на упражнения 24-26 — здесь вы получите кучу практики и выполните несколько заданий.
- Упражнения 27-31 будут посвящены операторам ветвления и логике.
- Упражнения 32-33 введут вас в курс дела касательно циклов и списков. Но лишь поверхностно, вы еще вернетесь к ним.
- Начиная с упражнения под номером 40, вы будете знакомиться с понятиями ООП.
- К 45ому упражнению у вас уже будет достаточно сильная база для разработки своего приложения. А значит, пора программировать! Это упражнение будет посвящено разработке игры.
- Упражнение 47 поможет вам разобраться в автоматизированном тестировании.
- Упражнения 50-52 посвящены веб-программированию с использованием веб-фреймворка Flask. Вы напишете небольшой веб-сайт, научитесь тестировать веб-приложения, а затем разработаете игру.
На этом книга не заканчивается, после всех упражнений автор расскажет, как выучить любой язык программирования, а потом проведет небольшой экскурс в оболочку командной строки (Shell).
Вердикт
Эта книга действительно стоит того, чтобы ее прочитали. Несмотря на неприязнь автора к Python, материал изложен доступным и креативным языком. А изучение книги приносит удовольствие. Является ли эта книга лучшей для новичков? Возможно. В любом случае, это выбор каждого. Кто-то, например, считает, что Марк Лутц изложил материал лучше. Решать вам.
Делитесь своим мнением касательно этой и других книг в комментариях, обсуждайте в нашем чате. Скачать книгу можно из нашего Telegram-канала — «Легкий способ выучить Python 3».
Источник
Легкий способ выучить Python
Хочешь знать больше о Python?
Подпишись на наш канал о Python в Telegram!
Перевод статьи «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%, казалось, подтверждали, что материал я усваиваю хорошо.
Но разумеется, когда пришло время применить знания на практике, меня ждало разочарование. Я мог посмотреть видео и скопировать то, что делал лектор, но мне было очень трудно применить изученное в собственных проектах.
Также было трудно сохранять мотивацию, потому что я работал над вещами, которые не казались мне важными и нужными.
Я хотел научиться веб-скрапингу. Но вместо этого я пытался понять концепцию объектно-ориентированного программирования. Как это связано с моими целями? Мне это было непонятно. В общем, бросить учебу во второй раз тоже было легко.
Причины провалов
Если проанализировать мой опыт, не так уж сложно понять, почему я потерпел неудачу. В первый раз я допустил две большие ошибки.
- У меня не былочеткой цели. Зачем я изучал Python? Я этого не знал. Когда вы не знаете, зачем что-то делаете, очень легко бросить это делать при малейших трудностях. А рано или поздно трудности непременно возникнут.
- На старте у меня было слишком много проблем. В конечном итоге я все равно выяснил бы, как установить Python в мою систему. Но с учетом отсутствия опыта, когда я еще и print(‘Hello world!’) не написал, сложный процесс установки был серьезным демотиватором.
Когда вы изучаете что-то сложное (особенно если вы новичок), небольшие победы вам нужны как можно раньше. Они помогают поверить в то, что вы действительно можете сделать то, что задумали.
Поскольку мой путь в изучении Python начался с решения сложной задачи, причем даже не связанной с кодингом, никаких мотивирующих ранних побед я не одержал.
Во второй раз я избежал этих ошибок, но зато допустил несколько новых.
- Я неотрабатывал практические умения.Просмотр видео и прохождение тестов заставляли меня чувствовать, что я умею писать код, но на самом деле я не программировал. Когда я все же пытался писать код, у меня не получалось. Это был травмирующий опыт, ведь я думал, что уже умею это делать. Мне приходилось многократно прыгать по каждому видео, чтобы пересмотреть разные разделы и заново изучить нужные вещи.
- У меня была четкая цель, но не было четкого пути к ней. Я знал, что хочу заниматься журналистикой данных и веб-скрапингом, но я проходил общий курс 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, и вы наверняка сможете достичь своих целей!
Источник