Как учить python самостоятельно
Python за месяц
Руководство для абсолютных чайновичков.
(Прим. пер.: это советы от автора-индуса, но вроде дельные. Дополняйте в комментах.)
Месяц — это много времени. Если тратить на обучение по 6-7 часов каждый день, то можно сделать дофига.
Теперь план по неделям.
![]()
Статья переведена при поддержке компании EDISON Software, которая дает дельные советы юниорам, а также проектирует программное обеспечение и пишет ТЗ на русском и английском.
Первая неделя: познакомьтесь с Python
Разберитесь как все устроено в Python. Проверьте как можно больше вещей.
Я понимаю, звучит противоречиво. Но поверьте мне. Я знаю кучу людей, у которых отпало всякое желание изучать что-либо после того как они не смогли установить среду разработки или ПО. Я советую сразу залезть в андроид приложение вроде Programming Hero или на сайт Repl и начать исследовать язык. Не ставьте себе задачу первым делом установить Python, если вы не особо подкованы технически.
Вторая неделя: начните разработку программного обеспечения (соберите проект)
Получите опыт разработки ПО. Попробуйте использовать все, что вы выучили, чтобы создать настоящий проект.
Просто слепо следуя шагам в уроке или видео вы не разовьете умение думать. Вы должны применить свои знания в проекте. Как только вы потратите все силы на поиск ответа, вы его запомните.
Третья неделя: освойтесь как программист
Ваша цель на 3 неделе получить общее представление о процессе разработки ПО. Вам не нужно будет оттачивать ваши навыки. Но вы должны знать некоторые основы, так как они повлияют на вашу повседневную работу.
Если вы болеете этой темой и посвящаете ей всего себя, то сможете сделать все за месяц.
Четвертая неделя: серьезно отнеситесь к тому, чтобы получить работу (стажера)
Ваша цель четвертой недели всерьез задуматься об устройстве на работу. Даже если вы не хотите получать работу прямо сейчас, вы многому научитесь в процессе собеседований.
часов): Каждый раз, когда вы получаете отказ, определите для себя 2 вещи, которые вы должны знать, чтобы получить работу. Затем потратьте 4-5 дней на то, чтобы отточить свое мастерство в этих вопросах. Таким образом, после каждого отказа вы будете становиться лучше как разработчик.
Готовность к работе:
Правда в том, что вы никогда не будете готовы к работе на 100%. Все что вам нужно это очень хорошо выучить 1-2 вещи. И ознакомиться с другими вопросами, чтобы преодолеть барьер собеседований. Как только вы получите работу, вы многому научитесь на ней.
Обучение это процесс. На вашем пути обязательно будут трудности. Чем их больше — тем вы лучше как разработчик.
Если вы сможете закончить список за 28 дней, вы большой молодец. Но даже если вы выполните 60-70% списка, вы разовьете необходимые качества и навыки. Они помогут вам стать программистом.
Если вы все еще не знаете c чего начать,
Как изучить Python самостоятельно и бесплатно: алгоритм
Отдел продаж проклял нас за эту статью! От вас — пара часов в день, от нас — список бесплатных материалов для входа и прокачки в Python.
Альберто Блинчиков для Skillbox Media
Python — основной язык в Data Science и один из трёх главных языков в веб-разработке — вместе с PHP и JavaScript. Кроме того, он широко используется для администрирования сетей, автоматического тестирования, создания приложений и даже 3D-анимации.
Ко всему прочему, Python считается лёгким в изучении: у него десятки тысяч подключаемых библиотек на все случаи жизни, глобальное сообщество разработчиков и нереальное количество учебных материалов.
Так что если вы решаете, с какого языка вам вкатиться в программирование, то Python — ваш кандидат!
Как убедиться, что Python — отличный язык для старта в разработке? Простой алгоритм:
Кандидат философских наук, специалист по математическому моделированию. Пишет про Data Science, AI и программирование на Python.
Окей, Python! Дальше-то что?
Мы собрали для вас ссылки на обучающие материалы, которые накопились за годы работы Skillbox. Они бесплатны и разбиты по трём направлениям: основы, приложения, Data Science. Внутри каждого направления статьи отсортированы по возрастанию сложности: от простых до заковыристых.
Как вам выучить Python по нашим материалам:
Настало время добрых советов — часть из них могут показаться банальными, но они и правда работают!
Выделите на занятия 1–2 часа ежедневно, чтобы знания не успевали выветриваться (согласно кривой забывания), и постарайтесь продержаться в таком темпе три недели — говорят, за этот срок вырабатывается привычка.
Не бойтесь ошибок. Их будет много — и в процессе обучения, и когда вы станете настоящим программистом. Воспринимайте ошибки как повод впасть в депрессию узнать что-то новое. Цикл вашего обучения должен выглядеть приблизительно так:
Только учтите — статьи и вебинары могут не отражать самые новые фишки языка. Что-то могло измениться: исчезли команды, обновились библиотеки, сервисы стали другими. Это не помешает учиться, но в каких-то мелочах придётся разобраться самостоятельно — и да, это часть ежедневной работы программиста.
Python: основы
С помощью этих материалов вы изучите Python на базовом уровне: установка интерпретатора, синтаксис языка, импорт библиотек, основные типы данных и операции над ними. Кстати, этого вполне достаточно, чтобы создавать довольно сложные и полезные программы.
Установка
Программировать на Python можно на своём компьютере, скачав и установив дистрибутив (рекомендуем Anaconda или PyCharm ), либо в браузере, с помощью специальных сервисов (например, Google Colab ).
Первые шаги
Инструменты и фишки
Хороший программист — любопытный программист. Знание фишек и неочевидных нюансов языка — один из признаков хорошего программиста, пусть и начинающего.
Продвинутые возможности
Python снисходителен к новичкам — потому что позволяет решать какие-то задачи достаточно небрежно, жертвуя чистотой кода в обмен на скорость разработки. Но это не значит, что правильного и красивого решения не существует.
Python: приложения
Можно проматывать и ускорять видео, пересматривать сложные места — записи именно для этого и сделаны.
Считаем калории и пишем голосового ассистента
Анастасия Борнева, ведущий исследователь данных в Сбербанке, демонстрирует процесс создания нескольких простых программ в PyCharm. Бонусом — советы по началу карьеры в Python.
«Нет неподходящего возраста, есть неправильно преподнесённое резюме».
Подбираем пароли и работаем с сетью
Никита Левашов, технический директор в Lia, учит основам хакинга на Python.
Создаём мессенджер с формами и интерфейсом
Эмиль Богомолов, инженер-исследователь из Сколтеха, показывает, как написать мессенджер на питоне.
Python: Data Science
Наверняка кто-то уже написал статью о причинах популярности Python среди дата-сайентистов. Эти причины нам, по правде сказать, не слишком важны, просто запомним, что на данный момент Python главный язык в науке о данных.
Если вы планируете карьеру в этом направлении, то в дополнение к основным вебинарам прочитайте статьи:
Первые модели
Делаем умного чат-бота
Николай Герасименко, ведущий исследователь данных в «Сбере», научит вас делать умных чат-ботов.
Пишем зрячую нейросеть
Уже знакомый нам Никита Левашов покажет, как сделать приложение с нейронкой внутри.
Интенсив «Пишем нейросеть для распознавания предметов и слежки»: первый день, второй день, третий день.
Что в итоге
Вдумчивое освоение указанных материалов даст вам достаточно навыков, чтобы претендовать на позиции стажёра или, если повезёт, даже джуниора, в зависимости от требований в конкретной компании.
Самое главное — не останавливаться. Путь программиста — это путь постоянного обучения, и Python-программисты не исключение. Эта статья — лишь начало вашего путешествия в огромный мир IT. Заметим, что совершенно необязательно идти туда в одиночестве.
На курсе «Профессия Python-разработчик» в Skillbox вы получите ещё больше структурированных знаний и концентрированного опыта. Вас ждут общение с единомышленниками, персональные консультации от действующих разработчиков и гарантированное трудоустройство по окончании обучения. Приходите, и да пребудет с вами дух Python! Import this!
Anaconda — комплект инструментов (дистрибутив) для языков Python и R, с упором на Data Science и машинное обучение. PyCharm — интегрированная среда разработки на Python, включает в себя мощный редактор кода, многочисленные плагины и поддержку популярных фреймворков (например, Django).
Google Colab — сервис от Google Research, позволяющий запускать код на Python прямо в браузере.
Библиотеки в Python — готовые наборы программ и функций, которые помогают решать специальные задачи: рисовать графики и картинки, исследовать данные и парсить сайты, вычислять квадратный корень или секансы с косекансами. Строго говоря, Python чуть менее чем полностью состоит из библиотек.
PyCharm — популярная и очень удобная среда разработки (IDE) для Python от компании JetBrains.
Учим Python качественно
Решил поделиться методом обучения сего мощного, но в одно и тоже время лёгкого языка программирования. Он действительно лёгкий. Вам не надо будет запоминать и вводить лишних символов, которые Вы можете встретить в Си-подобных языках.
Удобочитаемый синтаксис, прост в обучении, высокоуровневый язык, Объектно-Ориентированый язык программирования (ООП), мощный, интерактивный режим, масса библиотек. Множество иных плюсов… И это всё в одном языке.
Для начала окунёмся в возможности и узнаем, что же умеет Python?
А зачем мне твой Python?
Много начинающих программистов задают подобные вопросы. Это как с покупкой телефона, скажите, почему я должен купить этот телефон, а не этот?
Качество программного обеспечения
Для многих, в том числе и для меня, основные преимущества — это удобочитаемый синтаксис. Не много языков могут похвастаться им. Программный код на Python читается легче, что значит, многократное его использование и обслуживание выполняется гораздо проще, чем использование программного кода на других языках сценариев. Python содержит самые современные механизмы многократного использования программного кода, каким является ООП.
Библиотеки поддержки
В составе Python поставляется большое число собранных и переносимых функциональных возможностей, известных как стандартная библиотека. Эта библиотека предоставляет Вам массу возможностей, востребованных в прикладных программах, начиная от поиска текста по шаблону и заканчивая сетевыми функциями. Python допускает расширение как за счёт ваших собственных библиотек, так и за счёт библиотек, созданных другими разработчиками.
Переносимость программ
Скорость разработки
По сравнению с компилирующим, или строго типизированными языками, такими как С, С++ или Java, Python во много раз повышает производительность труда разработчика. Объем программного кода на языке Python обычно составляет треть, или даже пятую часть эквивалентного программного кода на языке С++ или Java, что означает меньший объем ввода с клавиатуры, меньшее количество времени на откладку и меньший объем трудозатрат на сопровождение. Кроме того, программы на языке Python запускаются сразу же, минуя длительные этапы компиляции и связывания, необходимые в некоторых других языках программирования, что еще больше увеличивает производительность труда программиста.
Где используется Python?
Литература
Вот мы и познакомились поближе с языком программирования Python. Можно сказать отдельно, что плюсы Python состоят еще в том, что у него есть масса качественной литературы. Не каждый язык этим может похвастаться. К примеру язык программирования JavaScript не может порадовать пользователей множеством литературы, хотя язык действительно неплохой.
Вот источники, которые помогут Вам познакомиться ближе с Python, а может и стать будущим Гвидо ван Россумом.
*Некоторые источники могут быть на английском. Не стоит этому удивляться, сейчас масса отличной литературы пишется именно на английском языке. Да и для самого программирования надо знать хотя бы базовые знания английского.
Настоятельно рекомендую прочитать первым делом книгу — Марк Лутц. Изучаем Python, 4-е издание. Книга переведена на русский язык, так что бояться не стоит, если Вы вдруг не знаете английский. Но именно четвёртое издание.
Для тех, кто знает английский, можно прочитать документацию на официальном сайте Python. Там всё довольно понятно описано.
Неплохой ресурс — Основы программирования на Python. Учебник. Вводный курс
Одна из моих недавно прочитанных книг — Язык программирования Python. Объясняется всё довольно доступно и на русском.
Хорошая книга, тоже всё доступно и на русском — Python. Подробный справочник, 4-е издание.
Что делать, если я прочитал книги, но не знаю как применять знания?
Без паники!
Советую почитать книгу Марк Лутц. Программирование на Python (4-е издание). Ранее было «изучаем», а тут «Программирование». В «Изучаем» — Вы получаете знания Python, в «Программирование» — Марк Вас учит как их применять в Ваши будущие программы. Книга очень полезная. И думаю одной её Вам хватит.
Хочу практики!
Легко.
Выше я писал о видеолекциях от Ника Парланте на YouTube, но у них есть также некие задачки на сайте. Интересные задачки, советую каждому. На английском.
Недавно школа программирования Codecademy открыла интерактивные Python-курсы. После прохождения каждого мини-курса, Вам будет позволено пройти некую «практику». Уроки ведутся на английском, но всё доступно и понятно. Начинается с переменных и типов данных.
И на окончание — хорошие закрепляющие и начинающие курсы. Learn Python The Hard Way.
Ну вот и всё!
Ну вот и всё. Теперь Вы можете учить этот язык программирования. Я кинул хорошие ресурсы и книги, и дальше всё в Ваших руках. Также не забываем про неофициальный русский Python сайт. Пусть он всегда будет у Вас под рукой.
Русский, неофициальный Python-сайт
Русский сайт программистов Python — здесь Вам всегда помогут на форуме. И много полезной информации на главной.
Как выучить python || План обучения с нуля
Всем привет. Решил поделиться планом обучения python с нуля и до приемлимого уровня.
Итак рекомендую начать обучение с прочтения книги «Byte of Python « или по русски укус питона. Это очень маленькая книжка, прочтение которой не отнимет у вас много времени, но зато вы уже сможете получить знания об основах языка. Все кратно и по делу.
Ссылка: https://wombat.org.ua/AByteOfPython/#id10
Далее стоит закрепить полученные знания в курсе на сайте stepik : «Поколение Python»: курс для начинающих
После этого курса стоит немного уделить времени алгоритмам, в этом нам поможет книга “Грокаем аглоритмы”, все примеры в этой книге так же разбираются на языке пайтон, что очень удобно для нас.
После книги про алгоритмы возвращаемся на stepik и проходим курс «Python: основы и применение.» Здесь вы еще больше погрузитесь в язык. изучите классы, попробуете поработать с различными АПИ. В общем будет чем заняться.
Ссылка: https://stepik.org/course/512/syllabus
После этого курса я рекомендую пару недель уделить только решению различных задач по программированию. Для этого существует множество сайтов, я оставлю ссылки на все в описании. Выбирайте какой больше понравится. Лично мне больше всех понравился chekio. Знаю, что многие любят codewars.
Сайты где можно порешать задачки Python:
Вне зависимости от того какой сайт вы выберете, рекомендую начинать с более простых задач, и решать по 3-5 штук в день. Так же после решения, вам будет позволено посмотреть как эту задачу решили другие участники. Почти всегда это будет сделано более элегантным или продвинутым способом. В общем на решениях других людей тоже можно многое почерпнуть.
Далее стоит ознакомиться с ютуб каналом Computer science center
Здесь уже рассматривают продвинутые техники языка. Очень рекомендую к ознакомлению.
Если вам больше нравится читать книги, то вместо этого курса могу порекомендовать книгу «Python. К вершинам мастерства.»
Еще есть вот такой курс от Яндекса.
Так же не забываем постоянно решать задачки с сайтов, чтобы постоянно была практика.
При среднем темпе обучения, на все эти шаги у вас уйдет 3-4 месяца.
На этом этапе уже можно спокойно начать погружаться в выбранную Вами сферу, будь это веб программирование с помощью фреймворков джанго, фласк или может быть датасаенс. Это уже выходит за рамки данного поста. То как стать датасаентистом, мы разбирали в этом посте:
Так же эти ресурсы могут быть вам полезны:
Книга: Изучаем Python. Том 1 | Лутц Марк
Книга: Изучаем Python. Том 2 | Лутц Марк
Книга: Доусон М. Программируем на Python.
У нас есть чатик в телеграмме где мы обсуждаем с подписчиками различные вопросы, залетай к нам! https://t.me/DataScienceGuy
Сейчас смотрю лекции Хирьянова.
О, от яндекса курс не видела ещё, спасибо.
Здравствуйте. Есть предложение по сотрудничеству. Если интересно- напишите ermolenko_olja@mail.ru
А мне кажется, что бесплатно сложно научиться, мотивация не такая сильная, в отличие от того
если ты заплатил за курс. Есть относительно не дорогие, но очень качественные курсы https://codeby.net/threads/kurs-python-dlja-pentestera.70415. Пять месяцев обучения от нуля до продвинутого. Домашнее задание проверяется в ручную, преподаватели всегда на связи.
Спасибо, а почему бы и нет!
Крутяк! Хотеть подобный пост про Java
Давно хотел изучить Питон, но никак не мог найти правильный ракурс подхода к данному вопросу. Опираясь на Ваш пост уже прошел курс «Поколение Python: курс для начинающих» и прочел книги «Byte of Python» и «Грокаем алгоритмы». Так вот, к чему это я. Дойдя до курса «Python: основы и применение.» я познал боль и отчаяние. Был вынужден искать новые пути познания и пока остановился на курсе «Инди-курс программирования на Python от egoroff_channel» от Артема Егорова (ссылку оставлять не стану на случай, если автор против подобных вбросов). Данный курс часто появлялся в комментах на «Основах и применении» как единственная панацея, что я и решил проверить. Не знаю, проблема ли в качестве изложения авторов курса из Вашего списка, либо в резком перепаде сложности курсов, но что-то не пошло. Возможно стоит рассмотреть какую-то прослойку из переходного курса или вспомогательных материалов. Дело Ваше, но я говорю от лица человека, который по данному посту с нуля решил обучиться и встретил определенные сложности.
Во всяком случае, путь мой только начат, и начат он не без Вашей помощи. Спасибо 🙂
Пы.Сы: хотел просто вбросить про возможно неплохое дополнение к программе обучения, но что-то занесло хехехе.
А у меня создалось ощущение, что питон просто очередная мода. Может быть востребован ещё долго, а может и отвалится. Помнится на перл поначалу также многие молились.
Сам пользуюсь уже лет 10 для автоматизации и мне в принципе питон очень нравится. Но крупный серьёзный проект скорее всего на нем не стал бы делать.
За сссылки спасибо, сохранил.
Оставлю комент. Завтра почитаю.
ТС скажи как у питона обстоят дела с ООП
На всякий случай изучу. А то в селе скучно стало, клуб и тот закрыли.
найти заказчика, который скажет: Тебе надо закрыть этот проект на питоне «на вчера»
Салют! Ты с 0 осваивал pyhton? Сколько времени заняло обучение чтобы выйти на начальный уровень?
Ну не летом же начинать такое серьезное дело, а вот с числа точно начну!:))
Каждый питонист в душе 2Д тян
Небольшой туториал(а может и нет)о том как можно пробиться в IT нишу(опыт junior Django backend разработчика)
Я джун, хочу рассказать что делал, учил, как двигался дабы устроиться на работу.
Может быть мой опыт будет вам полезен, если вы пытаетесь найти работу или только учитесь / начинаете учиться.
Если есть дополнения: книги, youtube, курсы и т.д. ставьте вызов меня и дополнение, и если я разберусь как тут дополнять, то буду по чуть-чуть расширять пост вашими комментариями с пометкой *комментарий пользователя и ваш ник
Это не таблетка которая работает 100%, а исключительно мой опыт. На всё ушло полтора года(1 год учёбы + пол года поиск работы).
Пишу пост, так как часто отвечаю на вопросы в тг и в последнее время участилось здесь. Отвечаю потому что в свое время мне никто не помогал и этого очень не хватало на пути становления.
Не любитель писать(поймете по моей орфографии) поэтому скажем так это первый мой и последний пост скорее всего здесь.
Не знаю можно оставлять ссылки или это будет считаться рекламой, так что где-то они будут, где-то нет. Но на всякий случай пост НЕ в рекламных целях.
Немного о себе:
Для того чтобы представить полноценную картину. Мне 27 лет, работал в Альфа-банке и ушел из-за того, что не могу навязывать людям продукты. Прогорел бизнес в 24 года(ателье). Устроился работать в макдоналдс в ночную смену(так называемый «ночник»- что-то типа уборщицы и посудомойки), проработал год и понял что хватит плыть по течении и надо брать жизнь в руки.
Высшего образования не имею(Ушел с 5 курса ‘Эконом безопасности’), в дальнейшем не восстанавливался, так как хотел доказать себе, что обладание дипломом, а не знаниями это уже прошлый век, но это отступление.
Собственно информация ради которой был создан пост:
Курсы:
Купил курс Skillbox( https://skillbox.ru/course/profession-python/)-лично моё мнение, денег своих не стоит, разве что у меня был отличный куратор, на этом плюсы заканчиваются.
Купил курс на Udemy( https://www.udemy.com/course/django-31-junior-django-develop. курс понравился, очень много интересного от туда подчерпнул.
Окунулся в пиратство(Сайт с робингудом так сказать раздающий лес):
Там в поисковике:
— udemy-Разработка-telegram-ботов-на-python-2020
— Полный курс по веб разработке с нуля на Python + Django (2020)
— udemy-angela-yu-100-days-of-code-Полный-учебный-курс-python-pro-на-2021-год
— Ну собсна сама документация( https://docs.djangoproject.com/en)-не читать доки это кащунство:) так как всегда самая актуальная и полная инфа именно в них
— A Byte of Python
— Изучаем Python
— Test‑Driven Development with Python
— Two Scoops of Django
— Django. Разработка веб-приложений на Python
— Книга Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура
— Алгоритмы. Руководство по разработке
— Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
На поиск работы ушло около полугода. Запаситесь терпением и будьте настойчивы, рынок около-джунами переполнен, а в мидлах-сеньорах в дефиците, вот такая вот штука.
Отшивать будут часто, много. Искал работу по РФ с возможностью переезда куда угодно, хоть за границу, хоть куда.
Типичные вопросы:
— Рассказать несколько алгоритмов
— Решить логическую задачку (у меня была часто задачка ‘Задача с девятью шарами’ в гугле можно найти спокойно)
— Рассказать про структуры данных
— Ревью моего кода (или их кода) с человеком( почему так, почему сяк) проговаривая в слух мою логику
— Тестовая задачка ( задачи достаточно легкие, смог решить задачу на Golang не зная этого языка)
Типичные отказы:
— Мало / Нет опыта разработки в команде
— Рассматриваем кандидатов только из своего города
— Мы уже наняли
— Без диплома не рассматриваем
— Бесплатная стажировка(тут уже отказывался я)
Схема такая: ищу почту или телефон HR и отправляю лично ему или звоню и прошу почту куда отправить, так как ‘отклики’ на сайте считаю вообще не эффективными
Мой github/gitlab:
Примечание! Код там ужасен, знаю, проектов там почти нет(а рабочие проекты все запривачены), но как руки дойдут я перепишу свой ужас и
— https://github.com/AntonButyrin
— https://gitlab.com/butyrinhome
Моё резюме(часто отмечали на собесах резюме в положительную сторону, но по хорошему надо еще eng версию сделать):
— https://docs.google.com/document/d/1esMP3WEGhH3n27ptDVWlb4Xr.
На данный момент уже требуется еще front часть от меня (css, js, ajax), так как планируется перевести на зп по выше в фулл-стак разраба, но на начальном этапе требовался исключительно back(sql, django,drf, unix(просто умение поставить сервер),docker) всё на базовом уровне
Составить резюме, набраться определенного багажа знаний, иметь гитхаб и gist гитхаб ну и просто пробивать себе путь, так как дорогу осилит идущий:)