реклама
разместить

Python, основы | что читать/смотреть | как правильно использовать уч.материалы

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

Учебные материалы разделены на 3 разных подхода, деление это весьма условное, но с ним будет удобнее объяснить какие то моменты.

1. Автоматизация рутины

1.1. Автоматизация рутинных задач с помощью Python, Свейгарт - сильно отличается от других вводов в Python(да и не только, в python). Дело в подходе к практике: вы сразу учитесь делать полезные штуки(как говорит книга, автоматизировать свою рутину), а не стандартные абстрактные задачи, служащие исключительно для закрепления материала.

Кроме того, что это, рациональный способ изучения python(язык позволяет быстро сделать что то интересное/полезное/работающие, почему бы не использовать эту приятную, и довольно впечатляющую возможность). Это в принципе, правильный способ изучения программирования, именно программирования, а не просто синтаксиса языка.

1.2. https://stepik.org/course/575 - курс по автоматизации тестирования, нам интересны первые две его части(в рамках изучения питона). Там про selenium - инструмент, для автоматизации в браузере(это про - зайти на страницу, заполнить форму, нажать кнопочки, оставить комент и т.д. и т.п.). О нем рассказано в книге Свейграта, но нужна практика. В этом курсе ее много и подана она отлично.

1.3 Огромное кол-во туториалов по автоматизации. Книга Свейгарта породила целую волну материалов по "автоматизации". Если вбить на ютубе "python automation", то темы роликов будут от работы в Excel до знакомств в Tinder(десяток подобных видео, и алгоритм рекомендаций избавит от нехватки новых идей).

2. Более классический подход

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

2.1. Книги, которые мне кажутся наиболее удачными представителями 'классического' подхода:

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

3 замечательные книги, немного разные по стилю(можно выбрать что ближе), во всех 3 очень хорошая подача, именно для начинающих

-Изучаем Python. Программирование игр, визуализация данных, веб-приложения, Мэтиз Эрик

-Программирование на Python 3. Подробное руководство, Марк Саммерфилд

-Программируем на Python, Доусон Майкл

2.2. https://stepik.org/course/67 - тот самый курс, его рекомендуют в каждом посте про изучение python, а если его там не окажется, то о нем вспомнят в комментах. Очень популярный(430к учащихся), возможно самый популярный курс по python на русском.

Звучит несколько иррационально, но в программировании, популярность учебного материала - верный признак качества. Правда работает это тогда, когда популярность - следствие рекомендаций уже ставших программистами(именно подобные отзывы и стоит искать при подборе уч. материалов). Поэтому, на туториалы с миллионами просмотров, из разряда ‘‘выучимся кодить за 15 минут’’ - правило не распространяется.

3. Академический подход

Кроме ряда очевидных положительных сторон, есть одна особенность(тоже положительная), которая сильно влияет на процесс изучения - подразумевается предварительная подготовка студентов(даже если, курс читается с нуля). И тут речь не столько о предмете, сколько о способностях к усвоению материала. У вузов есть система отбора, у хороших - довольно жесткая, к тому же высшее образование, в принципе и не претендует быть чем то простым(например, если что то можно объяснить за 10 минут, то это не буду растягивать на 2 часа).

Два замечательных курса(МФТИ) Тимофея Хирьянова. Одни из лучших лекции по Python, и скорее всего, лучшие на русском.

3.2. Если все хорошо с английским, довольно интересный вариант:

-1 лекция из MIT 6.0001 Introduction to Computer Science and Programming in Python) - знаменитый МТИ(Массачусетский технологический институт), ввод в сам язык и cs одновременно.

4. Что с этим всем делать?

4.1. Все вышеперечисленный варианты, решают задачу - изучить питон с 0(неважно, что где-то больше практики/теории, где-то учебный материал сильно выйдет за рамки основ или наоборот будет исключительно в них т.д. и т.п.). К тому же, они все - топовые представители своего формата. Поэтому, можно выбрать, буквально любой(какой больше по вкусу, да даже случайный), и это должно сработать.

Если выбрать только условного Лутца(а не начать с автоматизации, закрепив потом курсами или академ. подходом), ничего страшного не случится, хотя это и довольно сложный вариант. Но говорить, что подобное не сработает - неправильно(повторюсь, многие буквально так и начинали).

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

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

После Свейгарта, можно, как минимум, научится с помощью кода закрывать, как говорит книга, свою рутину. Мб не столь впечатляющий круг задач, но это уже настоящее программирование. К тому же, если будет принято решение дропнуть процесс(будем реалистами, это случается часто), то как минимум, останется очень полезный навык.

Вторым шагом, надо закрепить изученное и закрыть пробелы(а их будет достаточно). В качестве ориентира, с которым стоит сверятся, отмечая, что пока не ясно - Лутц(настольная книга на все время изучения). Основным учебным материалом любой вариант из п.2. - п.3. Важный момент, их можно комбинировать, к примеру смотреть цикл лекций, одновременно проходя курс на степике и читая книгу, ничего страшного в этом нет, путаницы это не создаст, более того это может упростить и улучшить процесс.

4.3. Существует куча других отличных книг/курсов, и далеко не 2 вуза выкладывают свои лекции, более того, можно выдумать, куда более сложный способ изучения, и он может быть вполне рабочим. Но нужно ли все это? Меня смущает обилие списков с кучей учебных материалов, которые забывают упомянуть одну важную штуку - для того, чтобы выучить основы программирования, и мочь что-то сделать используя определенный яп, всего пары названий из подобного списка будет достаточно.

5. После основ(не зависит от выбранного подхода)

Ряд учебных материалов, изучение которых, на раннем этапе, сильно поднимет уровень.

5.1. Уникальный пример, где автор показывает процесс мышления при написании программы. Будет позитивной практикой, время от времени пересматривать и отмечать что-то новое, трекать свой прогресс. Можно считать видео ориентиром, когда подобный способ понят, понят и сам процесс программирования.

5.2. https://stepik.org/course/4519 - курс в котором учат искать на StackOverflow, читать документацию и юзать библиотеки. Это тот самый подход, о котором не особо пишут в книжках, однако, это именно про такую - трушную практику. В каком то смысле, здесь учат делать, как в видео выше.

5.3. https://stepik.org/course/512 - курс по питону, для тех кто прошел основы. Стоит посмотреть хотя бы начало - там небольшой ввод в само устройство языка, стек вызовов, пространство имен, области видимости и прочее.

5.4. CS50

Этот Гарвардский курс ввода в computer science полезно посмотреть всем начинающим программистам.

P.S. Программирование - это не про колл-во прочитанных книг и пройденных курсов, оно про практику. Уч. материалы - это инструменты, они помогут прояснить какие то моменты, но ту самую практику за изучающего не сделают. Можно до бесконечности искать уч. материалы, проходить их, иметь кучу сертификатов, сделанных упражнений из конца главы и переписанного кода с туториалов, но так и не мочь программировать. По сути, просто отодвигать саму практику, это на самом деле, довольно бессмысленно.

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

В одном из постов, я приводил пример про комментарии в коде, в некоторых курсах, буквально, заставляют их писать под каждый хеловорлд. Это вызывает, разве что, раздражение. Можно в сотый раз попытаться объяснить их важность, однако, зачем они нужны, станет понятно и без этого. Очень естественным образом, на практике - ровно в тот момент, когда сам себе впервые задашь вопрос - "почему/как/что я здесь написал?"

Мой канал в телеге - https://t.me/tobeprog (там о самих методах обучения и обзоры на уч.материалы).

339339
реклама
разместить
116 комментариев

Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.

111

Жаль что питон сосет как язык для бека)
Имеет смысл учить чтобы нейронки писать

3

Комментарий недоступен

Aiohttp web server тоже норма

Комментарий недоступен

68
Раскрывать всегда
Вышла демоверсия ремейка «Готики» — с полной русской локализацией

Теперь обновлённую игру могут опробовать все желающие.

337337
4646
1818
66
33
22
Не, ну это точно Day1-покупка, наконец-то хорошая фэнтези-РПГ, а то в последнее время какой-то мусор сплошной выходил
реклама
разместить
Компьютерные клубы в России продемонстрировали «рекордный рост» в 2024 году

Одна из причин роста их популярности — дороговизна игровых ПК, считают эксперты.

Компьютерные клубы в России продемонстрировали «рекордный рост» в 2024 году
9090
6060
1919
99
77
66
33
33
22
не, я уж лучше на своей картошке в какую-то дремучую парашу поиграю, чем пойду в какой-то комп. клуб.. да вообще просто выйду на улицу не ради "забрать посылки из вб/озона, купить продуктов"
Я смирился с тем, что не успею пройти все игры, которые хочу, — это просто невозможно

Как я отпустил давление бэклога и принял свой стиль игры таким, какой он есть.

Я смирился с тем, что не успею пройти все игры, которые хочу, — это просто невозможно
503503
2222
1717
1616
1111
55
44
11
11
11
11
11
Правильная позиция. Во все не проиграешь, как не посмотришь все фильмы и не прочтешь все книги. Просто банально жизни не хватит
«Лучше предшественницы почти во всём»: оценки Monster Hunter Wilds — 89 баллов из 100 на Metacritic

На OpenCritic экшен-RPG порекомендовало 95% рецензентов.

5959
2626
1515
66
11
11
11
Как японошиз, с уверенностью заявляю, что Монхан - одна из самых унылых франшиз на планете. 1) Дерьмовые сюжеты, которые по качеству сценария проигрывают даже играм серии Покемон. 2) Однокнопочные и дрочные бои. Никакого импакта, никакой тактики. Просто унылое закликивание рейд боссов по 20+ минут. 3) Кринжевый арт дизайн, непривлекательные персонажи, скучное окружение. 4) Отвратительный дизайн брони (даже хуже чем в Вейлгарде) 5) Музыка, под которую не захочется даже умирать. Оркестровки в монхане - одно из самых безвкусных явлений видеоигрового саундтрека. Лучше поиграйте в Зеноблейд или Файр Эмблем. Их хотя бы играми можно назвать.
Apple инвестирует 500 миллиардов долларов в производство в США

И создаст 20 тысяч рабочих мест в течение следующих четырёх лет.

Apple инвестирует 500 миллиардов долларов в производство в США
1919
1212
66
55
Шах и мат редмидрочеры
«Это популизм»: что говорят ритейлеры о запрете ЕС на поставки игровых контроллеров в Россию

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

«Это популизм»: что говорят ритейлеры о запрете ЕС на поставки игровых контроллеров в Россию
134134
2727
1111
44
11
11
На поставки не повлияет, но цены на всякий случай всё равно поднимут.
Для Neverwinter Nights вышло официальное дополнение Doom of Icewind Dale

С релиза игры прошло почти 23 года.

Для Neverwinter Nights вышло официальное дополнение Doom of Icewind Dale
314314
9999
1616
99
66
55
11
11
Имаджинируйте лица тех кто купил недоделанный огрызок 23 года назад за фулл прайс
Обнаружена первая дефектная RTX 5080 без полного набора блоков растеризации

NVIDIA утверждала, что браку подвержены только RTX 5090 и 5070 Ti.

Обнаружена первая дефектная RTX 5080 без полного набора блоков растеризации
254254
1616
1111
1010
22
22
11
Силиконовая лотерея 2025: - выиграть карту со всеми блоками, которая не загорится
[]