Какой самоучитель по Python использовать в 2020 году

Красивое лучше, чем уродливое. Явно лучше, чем неявное. Простое лучше, чем сложное. Сложное лучше, чем запутанное. — Дзен Python, Тим Петерс

Этот пост не расскажет о том, что такое Python. Узнать об этом можно, просто введя соответствующий запрос в Google.

В материале «The Incredible Growth of Python» (невероятный рост Python) на StackOverflow есть такая цитата: «Python уверенно претендует на то, чтобы быть самым быстрорастущим языком программирования», и это правда. Статья также утверждает, что «Тег Python был самым посещаемым на StackOverflow среди пользователей из стран с высоким уровнем дохода». И это не просто высказывания случайного блогера. Факты основаны на статистике использования сайта за целый год.

Просто взгляните на этот график, показывающий тенденцию развития языка программирования Python. Разве он не прекрасен?

График, показывающий тенденцию развития языка программирования Python

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

  • Начните с Python 3. Python 2 «уходит на пенсию», а будущее за Python 3.
  • Изучите основы. Начать можно со следующего:
    • Если хочется интерактивного обучения, то стоит попробовать Codeacademy Python
    • Если нравятся видеоуроки, то их можно найти здесь:
    • YouTube — это тоже огромная библиотека видеоуроков. Вот некоторые каналы и плейлисты для изучения основ Python.
    • Если лучше всего учиться удается с помощью книг, то попробовать стоит вот эти. Они доступны бесплатно.

Совет: следуйте одной книге, не перескакивайте.

Кое-какую информацию можно найти в этом репозитории GitHub. Тут охватываются основы Python.

  • Развейте привычку читать и разбираться в официальной документации Python.
  • Если с чем-то возникли проблемы, не бойтесь задавать вопросы на StackOverflow с тегом #Python3. Но будьте точны, спрашивая. Можете следовать этому руководству, чтобы правильно написать вопрос.
  • После изучения основ переходите к более сложному материалу. С ним можно ознакомиться в одном из этих блогов:
  • Не бойтесь искать в Google решение проблем. Также не бойтесь уточнять мелочи при изучении таких тем, как декораторы, генераторы, паттерны программирования и так далее.

    Совет: всегда пытайтесь сначала самостоятельно решить проблему. Это единственный способ научиться. Если не выходит — задавайте вопросы.

  • Когда пишите код, следуйте правилам хорошего кодинга Python. О нем можно почитать здесь: https://pep8.org.
  • Используйте на максимум редакторы кода или IDE, такие как PyCharm, VsCode, SublimeText.
  • Проекты, проекты, проекты (очевидно).
  • Необязательно делать сложные коммерческие проекты. Но убедитесь, что реализуете основные концепции ядра Python.
  • Реализуйте основные библиотеки, поставляемые в виде пакетов: json, csv, urlliv3 и т. д. Также используйте пакеты от сторонних разработчиков.
  • Если ищите идеи, то некоторые перечислены здесь:
  • Создайте аккаунт на GitHub. Публикуйте там сделанные проекты. Если не знакомы с Git или GitHub, воспользуйтесь https://try.github.io. Это точно лишним не будет.

    Со временем GitHub превратится в полноценное портфолио

  • Следите за крупными группами по теме Python в Facebook. Отдельные их участники делятся хорошими материалы и проектами
  • Практика Практика Практика
  • Следите за проектами с открытым исходным кодом на GitHub. Здесь есть курируемый список таких проектов: https://awesome-python.com
  • Узнайте об инструментах:
  • Разобравшись с основами, ознакомьтесь со следующими библиотеками и веб-фреймворками:
  • Создавайте маленькие проекты с помощью изученных фреймворков и библиотек и выкладывайте их на GitHub.
  • Каждый день знакомьтесь с новой темой.