Простой и красивый синтаксис, множество библиотек под самые разные задачи и большое комьюнити делают Python одним из самых популярных языков программирования на сегодняшний день, который активно используется в data science и машинном обучении, веб-разработке и прочих областях.

Когда я начал изучать питон, у меня возникло несколько вопросов:

  • какие темы необходимо изучить;

  • насколько это будет сложно;

  • сколько это займёт времени;

  • где найти хорошие источники информации?

Вкратце, на мой взгляд, необходимо знать следующие темы:

  • стандартные типы данных;

  • условия;

  • циклы;

  • функции;

  • основы алгоритмов;

  • объектно-ориентированное программирование (ООП);

  • конкурентность;

  • тестирование кода;

  • полезные библиотеки типа itertools, collections и тому подобное.

Если вы прежде не занимались программированием, то поначалу будет сложновато, но потом мозги «настроятся» в нужное русло и будет норм.

На этом преамбула окончена и переходим непосредственно к плану обучения.

Основы Python (3 месяца)

Советую начать с прочтения книги Билла Любановича «Простой Python. Современный стиль программирования» (второе издание) чтобы иметь представление о том, что такое программирование и как выглядит код на Python.

Далее переходим к курсам на платформе Stepik:

Очень хорошие курсы с морем задач, которые вас познакомят с основными типами данных, условиями, циклами, функциями и работой с файлами.

После рекомендую посмотреть плейлист декораторы канала luchanos и для практики пройти на Stepik «Декораторы в Python»: часть 1 и часть 2.

Введение в алгоритмы (2 недели)

Вообще, о том, как шатать leetcode и проходить алгоритмические фиды на собесах, следует написать отдельную статью, поэтому пока обойдемся основами основ и здесь на сцену вступает небезызвестная книга Адитьи Бхаргавы «Грокаем алгоритмы».

У автора получилось сделать очень дружелюбное к новичкам пособие по классическим алгоритмам – однозначно рекомендасьон.

Объектно-ориентированное программирование (3 недели)

Рекомендую плейлист Python OOP канала JimShapedCoding и курс Олега Молчанова по ООП – лучшее объяснение из всех, что я видел (курс как бы платный, но интернет – такая вещь, что….ну вы поняли).

Отсюда вы узнаете как устроена объектная модель в Python, парадигмы ООП, как и зачем применять дескрипторы, и многое другое.

Также параллельно с курсами было бы хорошо углубляться в пройденные темы и здесь мне понравилась книга «Object-oriented Python», Irv Kalb.

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

Для практики подойдет codewars. Когда получится решать 4-5 кату по ООП, то можно двигаться дальше.

Конкурентность (2 недели)

По основам многопроцессорности и многопоточности советую плейлист канала luchanos Конкурентность в Python.

По асинхронному программированию однозначно плейлист Олега Молчанова Асинхронность в Python и плейлист import asyncio: Learn Python’s Asyncio канала EdgeDB.

Для углубления переходим к книге Мэттью Флауэра «Asyncio и конкурентное программирование на Python».

Отсюда вы узнаете о выполнении конкурентных запросов к базам данных, сочетании многопоточной обработки с asyncio, управлении подпроцессами и многом другом.

Тестирование кода (1 неделя)

Уметь покрывать свой код тестами хотя бы на базовом уровне – точно не будет лишним и поэтому я предлагаю начать с просмотра плейлиста Pytest тестирование канала luchanos.

Для углубленного изучения есть неплохая книга «Python Testing with pytest» (second edition), Brian Okken, с которой стоит ознакомиться.

Больше продвинутых тем (3 недели)

В принципе, может показаться, что всего вышеперечисленного уже достаточно, но, на мой взгляд, для лучшего понимания как устроены функции и классы, как работает сборщик мусора, в чем отличие итераторов от генераторов, в каком случае лучше использовать асинхронность, а в каком многопоточность, как пользоваться библиотеками типа itertools, collections и т.д., еще необходимо немного углубиться, и в этом нам помогут 2 книги:

  • «Python – к вершинам мастерства» (второе издание), Лусиану Рамальо.

  • «Dead simple Python», Jason C. Mcdonald.

Книги плюс-минус об одном и том же, однако в последней некоторые темы рассматриваются на немного более поверхностном уровне. За счёт этого она читается легче.

Какую из них выбрать? Трудно ответить: лучше читать наиболее непонятные темы из обеих книг.

Best practices (1 неделя и больше)

После того, как вы уже научитесь немного писать код, неплохо бы научиться писать его красиво и в этом нам поможет книга «Effective Python. 90 specific ways to write Python better» (second edition), Brett Slatkin.

Солянка из лучших практик, показывающая как сделать код более лаконичным и эффективным с «питоновской» точки зрения.

Дополнительные источники

Ещё несколько полезных ссылок для изучения Python:

Что в итоге

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

Что дальше

Дальше можно смело двигаться в выбранное вами направление: будь то веб-разработка с Django и Flask или же машинное обучение с Numpy, Pandas, Pytorch и другими прелестями жизни – полученных знаний хватит за глаза.

Надеюсь, данный гайд оказался для вас полезным.

Всем успехов!

Комментарии (64)


  1. EGA_production Автор
    05.01.2023 00:35
    +5

    Заметил, что появилось много вопросов по поводу времени обучения, содержания материала и т.д.. Уважаемые читатели, создавая эту статью, у меня была одна цель, а именно помочь новичкам понять какие темы в каком порядке стоит изучить шаг за шагом и где это, собственно говоря делать, а также показать сроки обучения, опираясь на собственный опыт, и никому я карму не скидывал. Было бы очень хорошо, если бы более опытные разработчики также делились ресурсами в комментариях, чтобы ничего не знающий человек после прочтения статьи и комментариев имел полное представление, что ему делать дальше. Разве такая связь не делает хабр и ему подобные площадки крутым местом, где менее опытные могут помогать друг другу и заимствовать опыт у более опытных? Всем спасибо.


  1. Alexrook
    04.01.2023 20:02
    +22

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


    1. EGA_production Автор
      04.01.2023 20:05
      -41

      Сходите к офтальмологу, может, он вам поможет)


      1. Alexrook
        04.01.2023 20:12
        +19

        А зачем мне куда-то ходить? Просто тупо список книг и чужих курсов или плейлистов. Таких «планов» в сети хоть одним местом жуй. Ладно, если бы в названии статьи не было слова «подробный», еще куда не шло. Но вот это назвать подробным планом? ) Извините.


        1. RealBeria
          04.01.2023 20:18
          -3

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


          1. Alexrook
            04.01.2023 20:24
            +17

            Просто высказал свое мнение. С каких пор высказывание своего мнения запрещено? Токсичность - это когда за мнение сразу прилетает минус от автора, вместо того, чтобы немного подумать и осознать, что тут представлен не подробный план, а нечто другое.

            Как минимум в моем понимании минимально подробный план должен выглядеть вот так: https://roadmap.sh/python

            Как примечание уже можно дать источники информации. Тут. же упор сделан на источники информации, а как такового плана, еще раз замечу, подробного, нет.


            1. RealBeria
              04.01.2023 21:26
              -8

              Кто и где Вам запрещал высказывать свое мнение? А минусы как раз Вы хорошо и обильно расставляете на любую реплику, которая не в унисон с Вашим виденьем.


              1. Alexrook
                04.01.2023 22:17
                +8

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

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


              1. Alexrook
                04.01.2023 22:45
                +2

                OK, спасибо еще за один минус ))) И этот человек рассуждает про токсичность… давайте, ставьте еще!


                1. RealBeria
                  05.01.2023 09:37
                  +2

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


          1. Flux
            05.01.2023 00:09
            +6

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


          1. dopusteam
            05.01.2023 08:59
            +9

            Вы посмотрите комментарий первый и ответ автора и найдите где токсичность


        1. EGA_production Автор
          04.01.2023 20:35
          -9

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


          1. Alexrook
            04.01.2023 20:56
            +5

            Я ожидал увидеть план, специфичный именно для Python. А в результате очень общий план, я бы даже сказал очень короткий список, который можно без изменений перенести на любой другой язык.

            Ну вот одна строчка есть, которая касается библиотек:

            полезные библиотеки типа itertools, collections и тому подобное

            Далее идут источники с кратким отзывом вперемешку с какими-то дополнениями. Ну слишком громкое название у статьи, учитывая содержание.


            1. saboteur_kiev
              06.01.2023 23:54
              +2

              Нет.
              Самое полезное в данной статье это "Занимался по 10 часов каждый день в течение полугода".


    1. spbru
      06.01.2023 14:10

      Есть тактика и стратегия. В данной статье я вижу стратегический план. Подробная тактика на 6 месяцев по 10 часов - это гигантский объем материала который будет цитированием различных курсов и книг и сам по своей сути будет являться неким курсом. Странно такое ожидать статьи на Хабре.


    1. serchkv
      07.01.2023 11:29
      +1

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

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

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

      Автору респект.


      1. EGA_production Автор
        07.01.2023 11:37

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


  1. Lord_of_Rings
    04.01.2023 20:54
    -1

    Я бы посоветовал начать изучать python с Марка Лутца, а не с Любановича


    1. alexdesyatnik
      05.01.2023 21:53
      +2

      Это чтобы на Лутце же и закончить? Он абсолютно непригоден ни для чего. Слишком много информации для новичков, а для профи есть куда более лучшие справочники (та же оригинальная документация в 90% всё покрывает, и при этом не устаревает, в отличие от).


      1. DollyPapper
        07.01.2023 13:40
        +1

        Я бы даже сказал не информации а воды. Для новичков не подходит, потому что можно захлебнуться, а бывалые и так все это знают (я надеюсь). Для матерых лучше почитайте "Python к вершинам мастерства".


      1. Brogahnl
        07.01.2023 13:40

        Слишком много информации для новичков

        А подробнее?


        1. alexdesyatnik
          07.01.2023 14:13

          Извините, детали я уже не помню, последний раз брал его в руки лет 5-6 назад, как раз кто-то просил посоветовать учебник по Питону для начинающих, в интернете из каждого утюга Лутца советовали, ознакомился и ужаснулся. Соседний комментатор совершенно прав, там много именно воды - ненужных подробностей. Любанович вроде неплох, хотя вот для совсем быстрого старта я бы даже не с книг начинал, а с бесплатных онлайн-курсов вроде "Поколения Python" на Степике.


    1. lidefo
      07.01.2023 13:41

      Лутц для начинающих будет бесполезен, слишком душно пишет


  1. Hadjimurad
    04.01.2023 21:58
    +2

    "10 часов в день" - это не опечатка ?


    1. EGA_production Автор
      04.01.2023 21:58
      -1

      Нет. Всё верно.


      1. vedenin1980
        04.01.2023 23:04
        +4

        В прошлой статье вы говорили про 8 месяцев и «10 часов в день» на математику для ML, тут 6 месяцев и «10 часов в день» на Python. При этом вы еще пишете, что в ML еще «не вкатились», я так понимаю на ML у вас планы на несколько лет по «10 часов в день»?

        Такое упорство, конечно, замечательно, но вы не думали, что в ML джуна проще было «вкатиться» за сильно меньшее время, а потом набрать недостающее на реальных практических задачах? Это только мое ИМХО, но использовать ML на практике можно с намного меньшими усилиями.


        1. EGA_production Автор
          04.01.2023 23:36
          -4

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


          1. vedenin1980
            05.01.2023 00:57
            +3

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

            Ох, я работал с рекомендательной системой сайта, входящего в 50 крупнейших ресурсов интернета, — мне кажется вы слишком хорошего мнения о сложности моделей продакшена реального бизнеса, бизнесу нужны в основном проверенные типовые решения, типовые модели и типовые подкрутки типовых параметров. ИМХО, конечно.

            План это хорошо, просто потом может оказаться, что вы в РПГ прокачались до 300 уровня на доп.квестах месяцами, а когда перешли к сюжетке внезапно оказалось, что и 50 уровень последнего боса убивает одним ударом и ваш 300 уровень не нужен вообще ни для чего.


            1. EGA_production Автор
              05.01.2023 01:08
              -3

              Если всё так и будет, то только лучше: проще грандмастера получить будет. Вообще, всё сильно зависит от компании: если вы, например, пишите алгоритмы компьютерного зрения или диаризации, то здесь математика играет очень важную роль и учится она не так быстро как может показаться. Если же говорить о проде, то тут вообще много сюрпризов бывает, к слову, я это не из головы беру). Поэтому не всё так однозначно.


              1. vedenin1980
                05.01.2023 13:55
                +2

                проще грандмастера получить будет

                Это не много так работает — практический опыт обычно важнее теории. Поэтому ML специалист с 2 годами реального практического опыта в реальной компании и 0.5 годами теории скорее будет успешнее того кто эти 2.5 года только учил теорию и делал задачки (исключения, конечно, бывают). Да и при найме практический опыт обычно перевешивает теорию.

                Но это ваше дело, считаете, что у вас правильный план — удачи.


                1. EGA_production Автор
                  05.01.2023 15:27
                  -1

                  Почему вы решили, что у меня нет практического опыта в ML? Я работал над реальными проектами + продолжаю обучаться, но как сам считаю, ещё не до конца вкатился — вот и всё, поэтому и написал, что вкатываюсь.


                  1. vedenin1980
                    05.01.2023 16:51
                    +6

                    Просто я очень слабо себе представляю обучение по 10 часов в день и работу 8 часов в день, это уже банально места для сна и еды толком не остается.


      1. uzverkms
        05.01.2023 13:47
        +1

        180*10=1800 часов? или считаем рабочие дни? 22*6*10=1320 часов?


      1. a35012a
        07.01.2023 13:41

        Кажется, очень редкий человек выдержит учёбу в подобном режиме


  1. EGA_production Автор
    05.01.2023 00:35
    +5

    Заметил, что появилось много вопросов по поводу времени обучения, содержания материала и т.д.. Уважаемые читатели, создавая эту статью, у меня была одна цель, а именно помочь новичкам понять какие темы в каком порядке стоит изучить шаг за шагом и где это, собственно говоря делать, а также показать сроки обучения, опираясь на собственный опыт, и никому я карму не скидывал. Было бы очень хорошо, если бы более опытные разработчики также делились ресурсами в комментариях, чтобы ничего не знающий человек после прочтения статьи и комментариев имел полное представление, что ему делать дальше. Разве такая связь не делает хабр и ему подобные площадки крутым местом, где менее опытные могут помогать друг другу и заимствовать опыт у более опытных? Всем спасибо.


    1. Zermond
      05.01.2023 01:56
      +5

      Что для новоиспеченного разработчика нужно?
      - базовый синтаксис языка
      - немного теории алгоритмов
      - парочка пет-проектов

      и вперед искать позицию джуниора. А книги продолжать читать уже устроившись куда-то. Про субъективное понимание временных рамок – это вы маху дали, конечно. Разным людям нужно разное время для понимания предмета.

      p.s. давно не заглядывал на roadmap. Раньше это была просто пикча, а теперь там к каждому объекту есть описание и ссылки на литературу. В таком случае вообще не понятно что нового принесла эта статья.


    1. Vedga
      06.01.2023 02:01
      +8

      Уважаемый автор! Не догадываетесь, почему ваши статьи имеют отрицательный рейтинг? Вам нечего на данный момент сказать по существу, а читать "влажные мечты" большинству просто не интересно. Попробуйте сначала подрасти хотя бы до миддла (про сеньора молчу). И тогда, с учётом пройденного в обучении пути и достигнутых результатов, пишите roadmap-ы. А так инфоциганство какое-то получается.

      И, не в обиду... Когда HR присылает мне резюме кандидатов на собеседование, я всегда дополнительно запрашиваю наличие публикаций на тематических ресурсах, образцы кода на любом языке (не по нашей теме, просто любой код для оценки стиля), pet-проекты соискателя (если есть). Так вот, публикации тематики "изучить проблему N за Y шагов/часов" от кого-то с уровнем меньше сеньора автоматом ведёт к отказу в техническом собеседовании, даже на стажировку. Путь познания у всех разный. Можно им поделиться, но только когда ты его успешно прошел. Подкрепив правильность направления практическими достижениями.


      1. kay_kay
        06.01.2023 21:01

        Зря Вы так. Я, например, начинающий студент Питона.

        Первым делом таким, как я, нужна дорожная карта того, что можно прочитать и в каких курсах поучаствовать.

        Без подобного гайда (карты) можно идти в деле изучения языка максимум неделю (одну книжку начать читать и бросить).

        Поймите, Вы много знаете и, поэтому, можете оценивать.

        Но есть масса людей, типа меня меня, которые ничего не знают, в том числе и куда надо идти, и, как следствие, ничего не могут оценить, в том числе и ту дорогу, по которой они идут при изучении Питона.

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

        Вы промолчали, а автор топика сказал. Может быть, ценность его слов равна информации в размере 0.1 бита (знаю, такоего не существует, но пусть будет для примера)

        Но 0.1 бит гораздо больше чем 0.0. бит. И это реально важно для того класса людей, в который вхожу я, и в который не входите Вы.


        1. EGA_production Автор
          06.01.2023 21:07

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


        1. Vedga
          07.01.2023 06:38
          +3

          Исходный комментарий был немного не о том. Путь стоит указывать, только если его прошел. Или не прошел. Но тогда описать, что и почему не получилось.

          Материал автора представляет собой какой-то набор ресурсов, которые он только планирует изучить. Временные оценки явно не адекватные (к примеру изучение многопоточности языка "с нуля", включая ещё и многопоточную работу с базами данных, причем за пару недель). Оригинальной (ранее не существовавшей) информации нет от слова "совсем". Зачем статья? Заявить о своих планах? Ну есть соцсети, пиши там, если хочется. На технический ресурс зачем это выносить?

          А мои рекомендации были в комментарии выше в неявном виде: Pet-проекты. Придумай тему, которая интересна именно тебе. Начни писать ее программную реализацию. Не хватает инструментов (понадобилась та же asyncio) - Гугл или доки языка в помощь. Или stackoverflow.

          Разберись, какая методика разработки тебе удобнее ("сверху вниз" или "снизу вверх"). Когда получится что-нибудь рабочее, опиши это на том же Хабре. Получи кучу замечаний вида "да кто ж так пишет, вот здесь у тебя будет гонка, надо сделать так-то". Исправь свой проект. Вообщем именно практика, а теорию подхватываешь по мере необходимости. Большинство из того, чему учат в институте, в реальной жизни не пригодится. Главное - запомнить направление поиска. К примеру есть задача выявить закономерности по набору значений. Вспоминаешь, что "набор значений похож на оцифровку сигнала, закономерности в сигнале обусловлены суммой составляющих его частот, а для их определения что-то говорили про FFT". И идёшь искать описание этого самого БПФ, при необходимости закапываясь по-уши в жёсткий матан. А может это и не понадобится, берешь готовую реализацию и вставляешь в свой проект (для начинающего вполне приемлимо).

          В результате на собеседовании будет:

          • Твой исходный код (оценят стиль и знание языка)

          • Твоя статья с решённой проблемой (а не мечты "вот поднапрягусь и сделаю")

          • Авторская разработка (именно сделанная тобой, раньше ее не существовало)


          1. EGA_production Автор
            07.01.2023 11:28
            -2

            Уважаемый, якобы, сеньор, не знаю почему вы за меня решили, что я поделился набором ресурсов, который планирую изучить. Если бы вы читали внимательнее, то увидели, что я делюсь ресурсами, которыми пользовался, КОГДА ИЗУЧАЛ питон. Если бы подобного рода планы писали настоящие сеньоры, то они были бы неактуальны т.к. учились давно и по старым источникам, и именно поэтому наибольший профит для новичков будет от тех, кто что-то изучал год-два назад, а для пет-проектов существует гитхаб, странно, что вы такого не знаете. Также непонятно почему вы решаете за пользователей Хабра, что они должны начинать статьи с написания кода и почему роадмапам здесь не место? Не вижу в этом ничего плохого. Также в одном из комментариев я уже писал, что в будущем хотелось бы написать про ML, плюсы, разные проблемы и интересные проекты. Учитывая, как вы откровенно дезинформируете своими комментариями, то сразу понятно какого вы поля ягода.


  1. alex_124
    05.01.2023 02:01
    +2

    Хендбук по пайтон от Я - ссылка ведёт на курсеру гугла


    1. EGA_production Автор
      05.01.2023 02:50

      Спасибо большое за верное замечание. Уже исправил.


  1. LuchS-lynx
    05.01.2023 02:53
    +1

    Вы лучше напишите где взять и в чем писать программку на питоне в Линуксе для работы с файлами MS Office/LibreOffice с кнопками в форме для опций на GTK/Qt с примерами?


    1. EGA_production Автор
      05.01.2023 03:04

      Честно говоря, хотелось бы написать ещё статьи по алгоритмам классического и глубокого обучения, С++, о всяких проблемах в ML и их решении. Просто пока хочется зайти с самых низов, а там как пойдет)


    1. Sild
      05.01.2023 18:00
      +2

      Вы в МойОфис собеседоваться идете?


      1. LuchS-lynx
        05.01.2023 19:57

        нет, хочу переписать свой код vba на питон и вынести в отдельный скрипт/модуль. А Вы хотите помочь?


  1. SWATOPLUS
    05.01.2023 03:13
    +4

    Выучить питон можно, но зачем? Я бы предостерёг читающих от его изучения не имея понимая как устроиться на работу.

    Зная только питон на работу не попасть, да можно выучить джанго и стать бэкэндщиком, но где найти работу, когда таких вакансий немного, а выпускников курсов толпы. Есть ещё ML, Data Science, DevOps которые связывают с питоном, но знание питона это 5% от необходимых знаний в этой професии.

    Я бы не сказал, что питон проще чем другие ЯП. На нем проще написать базовые вещи, но в целом в языке есть свои "приколы". Его очень пиарят продавцы разных курсов обещая золотые горы, но на деле все по другому.

    Лучше учите JS/TS там вариантов входа в профессию куда больше, хотя бы потому что больше вакансий. А дополнительных знаний здесь нужно меньше и они хорошо разжеваны во множестве видео на Ютубе.


    1. EGA_production Автор
      05.01.2023 03:18

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


  1. Vedga
    05.01.2023 16:48
    +3

    Особенно интересно смотрится "конкурентные запросы к БД" за 2 недели, включая изучение многопоточности и асинхронности самого языка.


  1. fixin
    05.01.2023 21:10

    Надо Илье Леонтьеву передать. Он свитчанулся из 1С в Питон, тоже долго и много учил всего разного. В итоге ушел с 400к в месяц на 1С на 120к в Питон джуном. Но думаю, своё наверстает.


  1. 776166
    05.01.2023 22:04
    +3

    Asyncio и конкурентное программирование для новичков в течение полугода от старта? SRSLY?Автор, ты вообще как, нормально? Или совсем того? Извините за мой французский.

    Это самая бездарная и бессмысленная графомания про обучение Питону, какую я только видел.

    Набор книг ничего, но он более-менее очевиден.


    1. Vedga
      06.01.2023 01:42
      +1

      Я думаю, такими темпами автор и verilog за пару месяцев выучит. Не, а чего мелочиться-то?


  1. AVX
    05.01.2023 22:42
    +2

    Очень неплохо, но это всё для разработчиков. А есть какие-то ориентировочные сроки по изучению python для сисадмина? Ведь в этой области львиная доля возможностей языка просто не нужна. А без его изучения я вот, например, не могу сказать, что там нужно изучать (и потребуется для других тем), а что не обязательно. Где-то есть такой план для сисадминов?


    1. EGA_production Автор
      06.01.2023 00:47

      К сожалению, такой информацией не обладаю. Здесь лучше спросить у самих сисадминов.


    1. Magnum_M
      07.01.2023 04:23
      +1

      Для начала рекомендуют обычно https://natenka.io/pyneng/


  1. Kozhedub
    06.01.2023 14:12

    Автору спасибо. Я только начинаю путь в Python. Пока прошла два курса "Поколение Python". Действительно очень хороший курс.

    Возник вопрос: какой из методов и в каком случае лучше (эффективнее) - изучать книги или проходить курсы (с учетом того, что по времени я ограничена)?


    1. EGA_production Автор
      06.01.2023 14:15

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


  1. plustilino
    06.01.2023 16:36
    +2

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


    1. Dannil100893
      07.01.2023 13:37

      А я вот прислушаюсь. Хоть какой-то план, и ормально рассказано. А "про дальше куда" и "стык с другими языками" следующую статью))) но думаю после курса вопросов не будет. Пожалуй начну учиться.


  1. KirillKostin
    07.01.2023 13:43
    +1

    Две недели на алгоритмы?

    Это что, прикол такой? Я вот с перерывами учусь уже год, и ощущение, что нифига не знаю. Встрял на алгоритмах (прохожу курс на старике).


  1. elFurion
    07.01.2023 14:13

    Прежде всего, автор, спасибо за статью. Я увидел несколько книг, на которые стоит обратить внимание. Однако, должен заметить, что отчасти критика в адрес статьи справедлива. Судя по содержанию, ей больше подходит заголовок "Изучаем почти всю теорию о Python за 6 месяцев".

    Еще, к сожалению, считаю, что этот план для начинающих имеет серьезные потенциальные недостатки:

    1) В течении 6 месяцев человек будет заниматься по 10 часов в день. Потратит много времени, мотивации и может быть даже здоровья.

    2) Получит кашу в голове, потому что невозможно в таком темпе эффективно усваивать только теорию без подкрепления практикой. Это как учить английский язык, но не использовать его в повседневной жизни. А некоторые книги, такие как «Python – к вершинам мастерства» противопоказаны начинающим python-программистам. Об этом сам автор пишет в предисловии к книге, что его книга не для новичков.

    3) Очень не факт, что станет хоть сколько-то востребованным специалистом. Где знания и pet-проекты на Django (обязательное требование в 50% вакансиях)? Где знания и pet-проекты на FastAPI (можно сказать, что это второй по востребованности фреймворк на python сейчас)?

    4) Столкнется с реальностью, где окажется, что нужно вкалывать еще минимум 3 месяца, а силы и мотивация уже на исходе (см. пункт 1).


    1. EGA_production Автор
      07.01.2023 15:22

      Спасибо за дельный комментарий. Постараюсь ответить по вашим пунктам:

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

      2) Здесь я обобщу остальные пункты. Да, вы правы, что нет смысла учить что-то, не применяя это на практике, но перед тем самым применением должна же быть какая-то база, чтобы делать норм проекты. Может показаться, что для начала конкурентность - это жир, но, например, если вы работаете с большим объемом данных, то его надо обрабатывать быстро и эффективно, а без таких тем просто никуда. Про фреймворки не писал т.к. в каждом направлении они разные: у тестеров selenium, у веба django и flask, в ML numpy, pytorch и т.д., поэтому здесь всем не угодишь.

      Конечно придётся много чего ещё доучивать, писать свои pet-проекты и т.д., но иметь хорошую опору точно необходимо. Если бы лично вы нанимали человека на работу, согласитесь, вам бы хотелось видеть кого-то, кто может что-то большее, чем перекладывание json-чиков.

      Главное, чтобы ничего не знающий про прогу человек, наткнувшись на подобного рода материал, понимал куда ему двигаться дальше, взглянув на разные точки зрения как от начинающих специалистов, так и от более опытных.


  1. KShaddix
    07.01.2023 18:18

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