Что учить после основ python

Что и как учить после уже небольшой базы знаний Python?

Здравствуйте ,уже где то месяц изучаю пайтон ,знаю алгоритмы, функции, рекурсию, масивы, хэш — функции, графы, коллекции . И такой вопрос ,где и как мне обучаться после базовых курсов и книг.

Возможно вопрос покажется глупым ,но все равно спасибо за ответы!

  • Вопрос задан 10 мар.
  • 590 просмотров

Простой 1 комментарий

  • Facebook
  • Вконтакте
  • Twitter

HemulGM

  • Facebook
  • Вконтакте
  • Twitter

Никогда не понимал как это срабатывает у других людей. У меня уверенность в своих силах растет вот так:
6048c4b4e0e83543984648.jpeg
Уже 15 лет надеюсь на хотя-бы иллюзию компетентности — а ее все нет.

  • Facebook
  • Вконтакте
  • Twitter
  • Facebook
  • Вконтакте
  • Twitter

HemulGM

И при чем тут питон? То, что ты изучил — это основы программирования в целом. Месяц — это не срок совершенно. Месяц, это — "я знаю, что есть такой язык программирования — питон" и не более. Другие языки сложнее и точнее.

Какая у тебя цель? Что ты хочешь делать? Учи медицину, я хз. Может ты хочешь в меде работать. Любой язык — это лишь инструмент. Для какой цели ты хочешь учить инструмент? Что ты хочешь делать этим инструментом? И питон может не многое.

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

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

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

Учебные материалы разделены на 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 на русском.

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

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

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

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

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 — курс по питону, для тех кто прошел основы. Стоит посмотреть хотя бы начало — там небольшой ввод в само устройство языка, стек вызовов, пространство имен, области видимости и прочее.

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

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

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

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

Насчет актуальности Python-а для новичка

Сап Два. ДТФ. Насколько актуален язык пайтон для новичка. Я только начал изучение программирования, и частенько слышу что пайтон легчайший ( лично для меня, по сравнению с другими, это и вправду так) ЯП, но не менее часто слышу, что так же найти работу пайтон разработчиком, новичку не удастся и иди лучше учи Java,Js, C#,C++ и т.д. Как считаете, стоит ли дальше изучать пайтон, или лучше переключиться на что то другое.

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

Хммм, где то я это уже видел-_-

В каждой статье о питоне?)

Ты копирует свои/ чужие комменты?

Это паста кажись

Это паста. Но паста правдивая.

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

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

Просто человек сам не знает чего хочет, выбираешь область в которой хочешь себя попробовать, ГУГЛИШЬ ЯП которые используются в этой сфере, идёшь и узнаешь про каждый ЯП хотя бы немножко, а потом если что-то уж совсем не понятно, можно и на ДТФ залететь у работяг спросить совета, а то получается хочу того, не знаю чего

Ну он же извучает язык не для того, чтобы учить язык. Это ведь инструмент. То есть он куда-то устроиться хочет.

Зачем знать программирование чтобы понимать где используется язык?

Потому что на поверхности далеко не все так очевидно.

Как я понял для фронтэнда как минимум спрашивают — JS,HTML,CSS,SQl. И я примерно понял для чего каждый из них нужен . А вот насчет бэка я нихера не понял. Ведь именно там просят знать Python а также Java,Js, еще и HTML, CSS и прочее. Разве Python и Java это не языки которые делают одно и тоже?
И еще, а в программировании есть ли варианты устроиться на работу зная только Python (или другой один язык)и дальше параллельно учиться остальным. Или не стоит себя кормить иллюзиями и распланировать учебу нескольких языков на год впреред?

HTML, CSS, SQL — вообще не языки программирования. Но ты их так или иначе выучишь, особенно SQL. JS надо знать, если собираешься сайты делать, там без него никуда. Ну разве что ты вот вообще не будешь фронтэндом заниматься, но это сильно вряд ли. Так или иначе, JS учат все, кто занимается вэбом.

Пайтон и Джава делают как бы одно и то же, но делают это по-разному. Даже не говоря о том, что один из них компилируемый (ну, почти), а второй интерпретируемый, у них разные сферы применения, так просто исторически сложилось, а потом в соответствующую сторону развивалось. Джава — кровавый энтерпрайз, высоконагруженные сайты, десктопные приложения и т.д. Пайтон — научные вычисления, нейронки и сайты попроще. При должном задротстве на каждом из языков можно сделать то же, что и на другом, просто набор инструментов будет намного меньше.

Вариант устроиться на работу зная только один язык вполне себе есть. Хорошему узкоспециализированному специалисту будут платить больше, чем универсалу, так себе знающему несколько языков. Но такую работу ещё надо сильно поискать, и пока у тебя такие вопросы, я бы на это не рассчитывал.
А так, от джунов много-то и не требуют в плане знаний языков, а всё остальное придёт со временем и опытом. Есть какой-то минимальный набор знаний вроде HTML-CSS-JS для вэба, ну и хоть какие-то знания в выбранном тобой языке для бэка.

Добавить комментарий

Ваш адрес email не будет опубликован.