Как начать изучать python

Как выучить python || План обучения с нуля ⁠ ⁠

Всем привет. Решил поделиться планом обучения python с нуля и до приемлимого уровня.

Python в данный момент является одним из самых популярных и востребованных языков программирования в мире.
рейтинг языков программирования: https://pr-cy.ru/news/p/7809-reyting-yazykov-programmirovani.
А некоторые области, например обучение нейронных сетей, полностью завязаны на Python . Плюс многие считают его лучшим для старта в программировании, поэтому Python сейчас изучают в школах.

Итак рекомендую начать обучение с прочтения книги «Byte of Python « или по русски укус питона. Это очень маленькая книжка, прочтение которой не отнимет у вас много времени, но зато вы уже сможете получить знания об основах языка. Все кратно и по делу.
Ссылка: https://wombat.org.ua/AByteOfPython/#id10

Далее стоит закрепить полученные знания в курсе на сайте stepik : «Поколение Python»: курс для начинающих

После этого курса стоит немного уделить времени алгоритмам, в этом нам поможет книга “Грокаем аглоритмы”, все примеры в этой книге так же разбираются на языке пайтон, что очень удобно для нас.

После книги про алгоритмы возвращаемся на stepik и проходим курс «Python: основы и применение.» Здесь вы еще больше погрузитесь в язык. изучите классы, попробуете поработать с различными АПИ. В общем будет чем заняться.
Ссылка: https://stepik.org/course/512/syllabus

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

Читайте также:  Php form input type select

Сайты где можно порешать задачки Python:

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

Далее стоит ознакомиться с ютуб каналом Computer science center

Здесь уже рассматривают продвинутые техники языка. Очень рекомендую к ознакомлению.

Если вам больше нравится читать книги, то вместо этого курса могу порекомендовать книгу «Python. К вершинам мастерства.»

Еще есть вот такой курс от Яндекса.

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

При среднем темпе обучения, на все эти шаги у вас уйдет 3-4 месяца.

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

Так же эти ресурсы могут быть вам полезны:

Книга: Изучаем Python. Том 1 | Лутц Марк

Книга: Изучаем Python. Том 2 | Лутц Марк

Книга: Доусон М. Программируем на Python.

Источник

Python за месяц

image

Месяц — это много времени. Если тратить на обучение по 6-7 часов каждый день, то можно сделать дофига.

  • Ознакомиться с основными понятиями (переменная, условие, список, цикл, функция)
  • Освоить на практике более 30 проблем программирования
  • Собрать два проекта, чтобы применить на практике новые знания
  • Ознакомиться хотя бы с двумя фреймворками
  • Начать работу с IDE (средой разработки), Github, хостингом, сервисами и т. д.

EDISON Software - web-development

Статья переведена при поддержке компании EDISON Software, которая дает дельные советы юниорам, а также проектирует программное обеспечение и пишет ТЗ на русском и английском.

Первая неделя: познакомьтесь с Python

Разберитесь как все устроено в Python. Проверьте как можно больше вещей.

  • День 1: 4 основных концепта (4 часа): ввод, вывод, переменная, условия
  • День 2: 4 основных концепта (5 часов): список, цикл for, цикл while, функция, импорт модулей
  • День 3: Простые проблемы программирования (5 часов): поменять местами две переменные, перевести градусы Цельсия в градусы по Фаренгейту, посчитать сумму всех разрядов в числе, проверить число на простоту, сгенерировать случайное число, удалить дубликат из списка
  • День 4: Проблемы программирования средней сложности (6 часов): перевернуть строку (проверить на палиндром), посчитать наибольший общий делитель, объединить два отсортированных массива, написать игру на угадывание чисел, посчитать возраст и т.д.
  • День 5: Структуры данных (6 часов): стек, очередь, словарь, кортежи, связный список
  • День 6: ООП — Объектно-ориентированное программирование (6 часов): объект, класс, метод и конструктор, ООП наследование
  • День 7: Алгоритм (6 часов): поиск (линейный и бинарный), сортировка (методом пузырька, выбором), рекурсивная функция (факториал, ряд Фибоначчи), временная сложность алгоритмов (линейных, квадратичных, константных)

Я понимаю, звучит противоречиво. Но поверьте мне. Я знаю кучу людей, у которых отпало всякое желание изучать что-либо после того как они не смогли установить среду разработки или ПО. Я советую сразу залезть в андроид приложение вроде Programming Hero или на сайт Repl и начать исследовать язык. Не ставьте себе задачу первым делом установить Python, если вы не особо подкованы технически.

Вторая неделя: начните разработку программного обеспечения (соберите проект)

Получите опыт разработки ПО. Попробуйте использовать все, что вы выучили, чтобы создать настоящий проект.

  • День 1: Ознакомьтесь со средой разработки (5 часов): Среда разработки это интерактивная среда, где вы будете писать код для самых больших проектов. Вы должны хорошо знать хотя бы одну среду разработки. Я рекомендую начать с VS code install Python extension или Jupyter notebook
  • День 2: Github (6 часов): Изучите Github, создайте репозиторий. Попробуйте закоммитить, запушить код, вычислить разницу между двумя любыми Git деревьями. Также разберитесь с ветвлением, слиянием и пул реквестами.
  • День 3: Первый проект: Простой Калькулятор (4 часа): Ознакомьтесь с Tkinter. Создайте простой калькулятор.
  • День 4, 5, 6: Личный проект (5 часов каждый день): Выберите один из проектов и начните над ним работу. Если у вас нет идей для проекта, посмотрите этот список: несколько хороших проектов на Python
  • День 7: Хостинг (5 часов): Разберитесь с сервером и хостингом, чтобы хостить свой проект. Настройте Heroku и задеплойте сборку вашего приложения.

Просто слепо следуя шагам в уроке или видео вы не разовьете умение думать. Вы должны применить свои знания в проекте. Как только вы потратите все силы на поиск ответа, вы его запомните.

Третья неделя: освойтесь как программист

Ваша цель на 3 неделе получить общее представление о процессе разработки ПО. Вам не нужно будет оттачивать ваши навыки. Но вы должны знать некоторые основы, так как они повлияют на вашу повседневную работу.

  • День 1: Основы баз данных (6 часов): Базовый SQL-запрос (Create Table, Select, Where, Update), Функция SQL (Avg, Max, Count), реляционная база данных (Нормализация), Внутреннее соединение, Внешнее соединение и т. д.
  • День 2: Используйте базы данных в Python (5 часов): Используйте фреймворк базы данных (SQLite или Pandas), подсоединитесь к базе данных, создайте и добавьте данные в несколько таблиц, считайте данные из таблиц
  • День 3: API (5 часов): Научитесь вызывать API, подучите JSON, микросервисы, REST API
  • День 4: Numpy (4 часа): Ознакомьтесь с Numpy и попрактикуйтесь в его использовании на первых 30 упражнениях
  • День 5, 6: Портфолио сайта (5 часов каждый день): Выучите Django, создайте портфолио сайта на Django, также взгляните на фреймворк Flask
  • День 7: Юнит-тесты, логи, отладка (4 часа): Разберитесь с юнит-тестами (PyTest), научитесь работать с логами и проверять их и используйте брейкпоинты

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

  • Учите Python постоянно. Начинайте в 8 утра и занимайтесь этим до 5 вечера. Сделайте перерыв на обед и перекусы (в общей сложности час)
  • В 8 утра составьте список вещей, которые вы будете изучать сегодня. После уделите час времени, чтобы вспомнить и опробовать на практике все, что выучили вчера.
  • C 9 утра до 12 часов дня учите и практикуйтесь поменьше. После обеда наберите обороты. Если вы застряли на какой-то проблеме, поищите ее решение в сети.
  • Каждый день тратьте по 4-5 часов на обучение и 2-3 часа на практику. (максимум можете устроить себе один выходной в неделю)
  • Ваши друзья решат, что вы сумасшедший. Не разочаровывайте их — соответствуйте образу.

Четвертая неделя: серьезно отнеситесь к тому, чтобы получить работу (стажера)

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

  • День 1: Резюме (5 часов): Создайте одностраничное резюме. В верхней части резюме разместите краткие сведения о своих навыках. Обязательно добавьте список своих проектов с ссылками на Github.
  • День 2: Портфолио сайта (6 часов): Напишите несколько блогов. Добавьте их в предыдущее портфолио сайта, которое вы сделали.
  • День 3: Профиль LinkedIn (4 часа): Создайте профиль в LinkedIn. Перенесите в LinkedIn все, что есть у вас в резюме.
  • День 4: Подготовка к собеседованию (7 часов): Загуглите самые часто задаваемые вопросы на собеседованиях. Попрактикуйтесь в решении 10 проблем программирования, о которых спрашивают на собеседованиях. Делайте это на бумаге. Вопросы с собеседований можно найти на сайтах вроде Glassdoor, Careercup
  • День 5: Нетворкинг (~ часов): Выберитесь из чулана. Начните ходить на митапы, ярмарки вакансий. Познакомьтесь с рекрутерами и другими разработчиками.
  • День 6: Просто откликнитесь на вакансии (~ часов): Загуглите “работа Python”, посмотрите какие вакансии есть на LinkedIn и местных сайтах с предложениями работы. Выберите 3 вакансии, на которые вы откликнитесь. Настройте свое резюме под каждую из них. Найдите 2-3 вещи в списках требований, которые вы не знаете. Потратьте следующие 3-4 дня на то, чтобы в них разобраться.
  • День 7: Учитесь за счет отказов (~ часов): Каждый раз, когда вы получаете отказ, определите для себя 2 вещи, которые вы должны знать, чтобы получить работу. Затем потратьте 4-5 дней на то, чтобы отточить свое мастерство в этих вопросах. Таким образом, после каждого отказа вы будете становиться лучше как разработчик.

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

Наслаждайтесь процессом:

Обучение это процесс. На вашем пути обязательно будут трудности. Чем их больше — тем вы лучше как разработчик.

Если вы сможете закончить список за 28 дней, вы большой молодец. Но даже если вы выполните 60-70% списка, вы разовьете необходимые качества и навыки. Они помогут вам стать программистом.

Если вы все еще не знаете c чего начать,

  • Programming Hero (увлекательное андроид приложение для изучения Python)
  • Изучение Python для машинного обучения (бесплатные ресурсы для обучения в веб-версии)
  • Серия видео на YouTube (смотрите видео и учитесь)

Перевод: Диана Шеремьёва

Источник

Оцените статью