что учить после основ python
Вы знаете основы Python — а что дальше?
Собственно — в каком направлении можно развиваться дальше, зная основы программирования и Python? Это вопрос, который задают себе многие начинающие программисты — как самоучки, так и те, кто прошел различные виды курсов или буткемпов.
Сделать первые шаги в новой профессии всегда непросто. Вы находите какие-то статьи/блоги, смотрите ютуб ролики по программированию, изучаете онлайн учебник Python самостоятельно либо проходите специальные веб-курсы дабы потом иметь возможность найти хорошую работу в ИТ-сфере.
В данной статье я хотел бы представить самые популярные «карьерные пути» для людей, знающих Python. Я также перечислю библиотеки и инструменты, которые стоит знать при поиске работы в этой области.
Согласно опросу JetBrains в 2020 году, наиболее популярными вариантами использования Python были:
Я постараюсь в этой статье приблизить читателя к каждой из этих тем. В то же время я хотел бы указать на инструменты, которые называются “must-have” на каждом из этих путей. Знание указанных технологий будет большим преимуществом при прохождении собеседования на первую работу на данной должности.
Веб-разработка
Первым и, вероятно, наиболее очевидным направлением будет веб-разработка. Python — это язык, на котором вы можете успешно писать эффективные веб-приложения, работающие на стороне сервера, то есть так называемый back-end.
Если вы решите пойти в этом направлении, ваши обязанности будут заключаться в создании и проектировании «интерьера» веб-приложений. Чаще всего вам придется научиться взаимодействовать с такими базами данных, как MySQL или PostgreSQL.
Django
Когда дело доходит до создания серверных приложений, без сомнения доминирует Django, который, согласно рейтингу HotFrameworks, является самым популярным фреймворком Python. Это довольно большой проект, позволяющий создать полноценное веб-приложение. Django имеет встроенные механизмы для работы с базами данных, формы, собственный язык шаблонов, готовый механизм для создания простой панели администрирования и многое другое. Дополнительным преимуществом при поиске работы с Django может быть знание django-rest-framework — самой популярной библиотеки для создания собственных REST-сервисов на основе Django.
Flask
Второй по популярности фреймворк Python — Flask — полная противоположность Django. Это довольно минималистичный проект, который позволяет создать первую страницу всего несколькими строками кода, одновременно сбрасывая на наши плечи (или на существующие плагины) большинство задач, необходимых для подготовки полного приложения. Первоначально это может показаться недостатком, но в случае более сложных, специализированных приложений это часто оказывается преимуществом, поскольку не навязывает программисту готовые решения, которые могут не полностью соответствовать потребностям.
Если вы собираетесь стать веб-разработчиком Python, вам также следует рассмотреть возможность изучения JavaScript, HTML и CSS. Разработчики, знакомые как с Python, так и с интерфейсными технологиями (то есть так называемым full-stack), пользуются большим спросом у всех компаний, создающих веб-приложения.
Анализ данных
В опросе JetBrains по сравнению с предыдущими годами, пункт «Анализ данных» обогнал веб-разработку, что показывает масштаб интереса компаний к анализу данных и использованию Python. В случае анализа данных мы не будем создавать большие приложения, а будем использовать Python только как инструмент, помогающий нам обрабатывать большие объемы данных.
Задача аналитиков заключается в том, чтобы сделать выводы на основе гигантских, часто неупорядоченных наборов данных. Важно понимать проблемную область, иметь навыки программирования и очень хорошее знание статистики.
Основные инструменты, которые нужно знать, — это библиотеки NumPy, SciPy, Pandas и Matplotlib. Кратко опишу каждую из них.
Рассматривая работу специалиста по данным, стоит обратить внимание на проект Anaconda. Это готовый дистрибутив Python и языка R, облегчающий установку необходимых библиотек с целью широко понимаемой «науки о данных».
Машинное обучение
Тема, так или иначе связанная с анализом данных, — это так называемое «машинное обучение» или так называемый «искусственный интеллект». Работая с машинным обучением, вы очень часто будете использовать библиотеки, описанные в разделе «Анализ данных», но ваша задача будет заключаться не в том, чтобы делать выводы из данных, а в создании систем, которые будут делать это автоматически.
Помимо описанных библиотек, необходимо знать методы машинного обучения, такие как нейронные сети или генетические алгоритмы. Программистам Python, ищущим работу в области машинного обучения, потребуются знания библиотек scikit-learn и TensorFlow от Google.
Программистам, которые хотят углубиться в темы машинного обучения и искусственного интеллекта, в частности, потребуются алгоритмические навыки, статистика и нестандартное мышление.
Системное администрирование и DevOps
В работе системного администратора или так называемого DevOps, Python будет не основным инструментом, а лишь дополнением, которое упростит работу. У системных администраторов столько же задач, сколько систем на рынке, но большая часть из них сводится к внедрению и поддержке различных приложений. Python может значительно помочь автоматизировать скучные и повторяющиеся задачи.
Кроме того, многие инструменты для администраторов написаны на Python, и знание этого языка может помочь создавать расширения.
Рассматривая этот карьерный путь, в первую очередь, необходимо досконально понять операционную систему (Windows или Linux). Python определенно более популярен и полезен для системных администраторов Linux.
Со стороны Python инструменты, которые заинтересуют при выполнении работы Devops-в или системного администратора, являются:
Резюме
Конечно, в этой статье я лишь слегка коснулся возможных вариантов использования Python. По каждой из описанных мною тем можно написать отдельную статью. Однако я надеюсь, что такое краткое описание «карьерных путей» поможет вам выбрать интересное направление и облегчит поиск более полных анализов по заданной теме, потому что самым важным навыком для каждого начинающего питониста будет … умение использовать Google 😉
Что учить новичку после основ Python?
Что лучше учить Python 2 или Python 3?
хочу начать учить питон но полазив в нете, частенько попадалась информация что вроде как 2 будет.
Java: что учить после основ?
Здравствуйте. В java новичок. возможно таких вопросов было много но конкретно по пунктам 1. 2.
Что учить после основ PHP?
Здравствуйте, подскажите что учить рпосле основ PHP? Какую тему и если можно уроки посоветуйте.
Решение
а ее не надо изучать просто так, как книгу, ее надо на примере сразу рассматривать. Найди что тебе интересно. Парсинг? Рассчеты? Гуи или боты (прости господи)? и пробуй решать задачу, писать проект заодно изучая библиотеку.
Кстати, как вариант пока остановись на форуме, просто проверь себя, реально ты «изучил» и легко сможешь помогать тут новичкам или в ряде задач есть решения лучше твоего? Тогда изучи их, что ты упустил? Постепенно смотри более сложные задачи, уже с либами.
1000 страниц из 1300-страничного учебника Изучаем Python. Изучил?
Добавлено через 11 минут
iamyk789, Изучив первую главу в «Лутц М. Программирование на Python», дальше уже сможешь определится, чем ты хочешь заниматься в дальнейшем и выбери соответствующую часть в этой книге.
«Системное программирование», «Работа с графикой», «web программирование» или что то еще используя специализированные библиотеки (изучая документацию к ним) и так далее.
Что учить после освоения основ
Здравствуйте. В общем, проблема у меня есть: не знаю, что учить дальше. То есть я худо-бедно освоил.
Что лучше учить после основ C#?
Всем привет, прочитал книгу Троелсена, начал читать Рихтера, работал с консолью, немного в формах.
Что лучшие учить новичку C# или Java
Привет, последние время мне приходиться работать с Web это HTML CSS JS PHP MySQL, и не много с.
Что изучать после основ?
Всем доброго времени суток, пробуксировал учебник по плюсам, теперь знаю основы от выделения памяти.
Что изучать после изучения основ языка
Доброго дня друзья. У меня такой вопрос. Подруга изучила основы С++, параллельно изучает книгу по.
Помощь в изучении Python. Что дальше?
Учиться по книгам можно бесконечно. Судя по Вашим словам, Вы вполне подготовлены, чтобы начать работу над несложным проектом / задачей.
Ну и еще несколько советов:
1. Ползуйтесь хорошим IDE (я использую PyCharm Pro, но в принципе и бесплатный PyCharm community edition прекрасно подойдет). Там можно настроить Python консоль, так что интерактивность не пострадает.
2. Если возьметесь за что-либо, что можно назвать проектом, пользуйтесь системой контроля версий. Это не так страшно как кажется. Я бы советовал Git. Можно из командной строки (для изучения предпочтительна, лично я предпочитаю и для работы), либо UI клиент (я пользуюсь SourceTree). Изучить Git на начальном этапе можно за полдня. Вот хорошая книжка:
достаточно первые пару глав прочесть для начала
4. При разработке в Python, пользуйтесь virtualenv. Это нужно для того, чтобы не замусоривать ваш основной дистрибутив Python установленными сторонними модулями и библиотеками.
5. Это вопрос личного вкуса и удобства, но лично мне в работе сильно помогают системы project management. Я пользуюсь Blossom.io, но он платный. Из бесплатных, могу порекомендовать Trello.
Все эти вещи могут показаться тягомотными, но это нужно пройти лишь один раз. После этого у Вас будет настроенное рабочее пространство для профессиональной работы. Это сделает Вам рабочий процесс намного удобнее, и знакомство с этим будет плюсом, если потом захотите работу искать в Python.
Собственно по Python, очень рекомендую вот это:
куча реально полезной информации. По всем конкретным вопросам нет ничего лучше StackOverflow.
Ну и уже когда практического опыта на реальном проекте поднаберетесь, вот тогда делайте upgrade, читайте еще книжки, код других проектов, участвуйте в других open source проектах, и т.д. В итоге гораздо быстрее все освоите, чем если прямолинейным чтением книг / прохождением курсов будете заниматься.
Программирование на Python: нет смысла идти на платные курсы пока не разберетесь в бесплатных
Какая математическая база нужна для Python, чем он хорош для новичков и какие задачи можно решить с помощью этого языка программирования
Python часто советуют изучать тем, кто никогда раньше не программировал. Одно из его преимуществ — универсальность, за счёт которой он используется профессионалами в разных областях: от журналистики до продакт-менеджмента. Его можно применять для решения рутинных задач: например, чтобы визуализировать большой объём данных или составлять списки дел и покупок. Автор и менеджер программы «Анализ данных» в Яндекс.Практикуме Анна Чувилина рассказала как оптимизировать свой быт и работу при помощи программирования, какие библиотеки (шаблоны решений) могут использовать новички и как выбрать курс по изучению Python. Материал подготовлен Академией Яндекса
Почему Python советуют новичкам
Одно из главных преимуществ Python — низкий порог входа. Код на нём лаконичный и обычно сходу понятен даже тем, кто изучал другой язык. А подробная документация поможет разобраться в программировании с нуля.
Ресурсы для изучения Python:
Вокруг Python сформировались сообщества энтузиастов, которые пишут на этом языке. Например, в Москве есть группа Moscow Python: они проводят конференции и неформальные встречи и сотрудничают с крупными ИТ-компаниями.
Для Python существует объёмная система библиотек — готовых решений для тех или иных задач. Есть как алгоритмы для базовых математических операций, так и для сложных задач: например, распознавания картинок и звуков.
У языка много понятных приложений: его можно использовать для анализа данных и машинного обучения, бэкенда, веб-разработки, системного администрирования и игр. Конечно, при этом нужен разный набор навыков помимо программирования, но с Python можно начать осваивать почти любую предметную область.
Важно понимать, что для анализа данных язык программирования — это инструмент. Анализ данных можно проводить и в Excel, и на бумажке, а программирование — только один из вариантов того, как можно решать такие задачи.
Одно из распространённых приложений Python — работа с данными для продакт-менеджмента. Анализ данных позволяет менеджерам получать инсайты о поведении пользователей и принимать обоснованные решения. В крупных компаниях должности аналитиков и продакт-менеджеров обычно разделены, но в небольших проектах продактам нужно работать с данными самостоятельно.
Как понять, что вам нужен именно Python
Называть его «убийцей Excel» — некорректно. Многие команды и компании в России ведут весь учёт в обычных таблицах, и им этого достаточно. А Python нужен в тот момент, когда речь идет про действительно большие объемы данных. Например, у Яндекс.Музыки множество платящих пользователей, и их действия ежедневно генерируют какие-то события (лайки и прослушивания) — и терабайты данных. Хранить их в табличке Excel — из разряда фантастики.
В Python проще делать интерактивную и сложную визуализацию или проводить вычисления — для этого существуют библиотеки вроде Seaborn, matplot и Plotly. В Excel есть встроенный аппарат для решения математических задач (например, работы с данными), но для него нужно запоминать много названий операций — и работает он довольно неповоротливо. Кроме того, в Python можно быстрее и с разных сторон посмотреть на данные. Регрессию можно построить и в Excel, но зачем, когда в Python есть для этого готовые библиотеки?
Для статистических расчетов можно использовать R — люди с математическим образованием обычно осваивают его быстрее, чем Python. Однако большинству будет проще начать с Python.
Для разных задач анализа данных существуют коробочные решения. Например, Amplitude (для продуктовой аналитики), Mixpanel (для анализа поведения пользователей) Яндекс.Метрика и Google Analytics. При этом их использование часто платное.
Где применять Python, если вы не разработчик
Помимо анализа данных у языка есть и более простые приложения. Так, в учебниках по Python часто встречается задача с рассылками. В ней нужно создать рассылку, например, для людей, которые не сдали деньги на ремонт — найдя их данные в Excel-таблице. С помощью такого скрипта можно разослать письма по шаблону — и имена будут подставлены автоматически.
Python — про автоматизацию рутинных задач. Например, можно запустить скрипт, который подставляет пароли — и он автоматически откроет запароленные страницы или папки. Есть алгоритмы для того, чтобы автоматически создавать списки покупок или переименовывать фотографии определённым образом.
Люди, которые умеют писать код, придумывают такие вещи «на автомате». Например, маркетологи могут запустить скрипт для построения воронок продаж. А тестировщики — написать алгоритм, который будет подставлять данные в формы и тестировать приложения.
Если говорить про анализ данных, то многие начинают осваивать его из любопытства — чтобы найти инсайты в сфере, которую пока не исследовали. Например, можно определить социальные проблемы своего региона, анализируя опубликованную статистику. А если вы хотите через какое-то время попасть на стажировку или на работу, где нужен анализ данных, то такой кейс поможет вам показать свои навыки. Начать можно с простых, стандартных проектов, которые обычно предлагают тем, кто изучает Python.
Что нужно, чтобы выучить Python
Из математического аппарата кроме базовой арифметики для программирования ничего не нужно. Чтобы придумать, какой алгоритм использовать для решения той или иной задачи, важно структурное мышление — но это не математическая компетенция. Парадокс в том, что и развивать его нужно с помощью регулярной работы с задачами — важно быть готовым просидеть над, казалось бы, тривиальным заданием несколько часов и не отчаяться.
Для анализа данных, помимо школьной математики, понадобятся знания математической статистики и теории вероятности. Начинающему специалисту важнее всего освоить базовые понятия: уметь проверять гипотезы, знать, что такое доверительные интервалы, чем отличаются медиана и мода, понимать, как обозначать события и их вероятности.
Материалы по математике:
Тем, кто хочет заниматься анализом данных (как профессионально, так и для себя), важно развить критическое мышление. Например, нужно самому выделять критерии для сравнения объектов: тут нет какого-то стандартного решения. Ещё важно сходу видеть закономерности и аномалии в данных.
Изучать программирование и анализ данных можно и самому — я не рекомендую обращаться к платным курсам до тех пор, пока вы не посмотрели бесплатный контент.
Во-первых, он служит для профориентации: чтобы лучше понять, какие приложения есть у программирования или анализа данных для разных профессий. Во-вторых, даёт понять, сколько сил и времени нужно будет прикладывать для изучения.
Преимущества обучения на курсах в том, что на них можно получить чётко сформулированные практические задачи. Также преподаватели могут рассказать о том, как общаться с заказчиком и уточнять у него необходимую информацию.
Как выбрать образовательную программу
Выбирая образовательную программу, важно обратить внимание на преподавателей, которые его ведут или создавали для него контент, — можно посмотреть их профили на Facebook и узнать про профессиональный опыт.
Что касается цены, то по моему опыту, качество курса не всегда с ней коррелирует — поэтому ориентироваться нужно на то, сколько вам комфортно потратить на обучение.
Также стоит чётко сформулировать то, что хочется получить в результате, — и сделать это ключевым критерием для выбора. Бывают случаи, когда студенты приходят на курс по анализу данных для менеджеров и ожидают занятия по программированию — а их учат общаться с аналитиками и рассказывают общие вещи про то, как внедрять анализ данных. Зачастую проблема не в плохой организации или преподавателях, а в том, что человек сам не проверил, соответствует ли программа его задачам. Правило с постановкой целей работает не только на выбор программы, но и на обучение в целом — не стоит осваивать язык программирования, чтобы поставить галочку.
🐍 Дорожная карта Python-разработчика
Miroslav Kungurov
1. Где и как учиться?
Итак, у нас есть четыре способа изучения языка:
Ищите курсы с трудоустройством, поскольку на всех курсах, ютуб-роликах дают примерно одинаковые знания: отличается только подача материала и наличие куратора, который придет на помощь. Если вам нужно полностью погрузиться в процесс обучения, чтобы чему-то научиться, то выбирайте буткемп – интенсивные курсы/лагеря по программированию. Основам вполне можно научиться самостоятельно и вы не одни на этом пути. Главное при таком подходе – самодисциплина и умение вовремя взять перерыв. И, наконец, идеальный вариант – найти наставника, который проведет по всем подводным камням и поделится знаниями.
Где учат Python с гарантией трудоустройства?
На курсах. Например, GeekBrains ведет прием на факультет Python-разработки, где вас научат:
Окей, я выбираю путь самообразования. Что дальше?
Дальше – выбор операционной системы.
2. Операционная система и редактор кода (IDE)
Какую ОС выбрать?
Не Винду. На ней можно покрывать 90% задач, но потом все равно придется столкнуться с Линуксом, потому что питонщики занимаются бэкенд-разработкой и их программы в итоге запускаются в среде Линукс.
Порядок изучения Ubuntu:
3. Основы Python
Как понять, где заканчиваются основы?
Плюс-минус основы включают в себя:
4. Git и GitHub
5. Веб-разработка
Питонисты пишут бэкенд веб-приложений на фреймворках и микрофреймворках.
Микрофреймворки – Flask, FastAPI, Bottle, Pyramid – имеют минимальный функционал и предоставляют в основном только роутинг (переход на страницу), а для всего остального нужно ставить дополнительный плагины или писать их самому. Больше гибкости, но ниже скорость разработки.
Что выбрать?
Если нужно сделать сайт, веб-приложение, которое похоже на обычный сайт, то выбирайте Джанго. Для нестандартных задач – микрофреймворки. Вакансий по Джанго больше, чем по всем остальным фреймворками и микрофреймворкам.
6. Тестирование
7. Наука о данных
8. Машинное обучение
В машинном обучении потребуется отличное знание Python. Начните с библиотек Numpy, Matplotlib, Scikit-learn. Не обойтись без математики и статистики: множества, пределы функций, производные, интегралы, случайные события, линейная регрессия и дисперсионный анализ.
9. Продвинутый Python
Скорее всего, несколько статей из нашей подборки уже есть в закладках вашего браузера. Однако у всех бесплатных учебных материалов имеется большой недостаток: в случае возникновения вопроса приходится гуглить и тратить время на поиски ответа; к тому же нет помощи в трудоустройстве. И еще один факт: многие проходят бесплатные курсы, но далеко не все получают работу. Можно взять количеством: пройти десяток курсов и… заваливаться на собеседованиях. Образовательная онлайн-платформа GeekBrains трудоустраивает после обучения и сейчас ведет набор на факультет Python-разработки. Зачем платить, ведь знания везде дают плюс-минус одинаковые? Чтобы получить гарантированный оффер.