Login

DOU Проектор: репозиторий на GitHub – шпаргалка для изучения Python

В рубрике DOU Проектор все желающие могут презентовать свой продукт (как стартап, так и ламповый pet-проект). Если вам есть о чем рассказать — приглашаем поучаствовать. Если нет — возможно, серия вдохновит на создание собственного made in Ukraine продукта. Вопросы и заявки на участие присылайте на  Данный адрес e-mail защищен от спам-ботов, Вам необходимо включить Javascript для его просмотра. .

Здравствуйте, читатели! Меня зовут Алексей, я — full-stack программист, на данным момент работаю в EPAM над React Native проектом. Недавно решил начать изучать Python в свободное от работы время, с целью дальнейшего развития в сторону Machine Learning. В итоге я создал небольшой репозиторий Playground and cheatsheet for learning Python, который, надеюсь, будет полезен не только для меня, но также и для тех, кто делает первые шаги в сторону Python.

Идея

Изучать Python 3 я начал с документации на официальном сайте. Мне понравились примеры кода, но, к сожалению, они были там не интерактивными. Хотелось попробовать выполнить код самостоятельно, с разными входными данными и посмотреть на выводимый результат. Также мне лично легче запоминаются конструкции языка, если я их набрал несколько раз вручную. Python-консоль для этого подходит отлично, но хотелось также иметь своего рода шпаргалку, к которой можно было бы вернуться при написании программ в дальнейшем, если, например, возникнет вопрос, как в Python написать цикл `for` и т. п.

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

Реализация

Реализация проекта до той стадии, которая есть сейчас, заняла две недели свободного от работы времени. Информация в основном была взята из официальной документации и w3schools.com.

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

В итоге репозиторий получился «песочницей», поскольку у пользователей есть возможность изменить или добавить код, посмотреть на то, как он работает, и при помощи тестов проверить его правильность, используя `assertion`-ы. Также есть возможность проверить соответствие кода современным стандартам. Все вместе это должно помочь пользователям изучать язык более интерактивно и уже с самого начала поддерживать неплохую чистоту кода.

Репозиторий также, по моему мнению, является «шпаргалкой» в том плане, что к нему можно вернуться и вспомнить основные конструкции языка, методы объектов и тому подобное. Благодаря тому, что код напичкан `assertion`-нами, пользователи могут проверить ожидаемый результат выполнения функций, не запуская их.

Как пользоваться данным репозиторием

Каждый Python-скрипт в репозитории имеет следующую структуру:

"""Lists  <--- Название раскрываемого топика

# @see: https://www.learnpython.org/en/Lists  <-- Ссылка для дальнейшего изучения

И здесь могут быть общие детали, относящиеся к топику (например что-то про Lists).
"""

def test_list_type():
    """Здесь идет название подраздела (например "Создание списков" или "Методы списков").
    
    И более детальное описание подраздела...
    """
 # Here is an example of how to build a list.  <-- Комментарии, объясняющие код
    squares = [1, 4, 9, 16, 25]
    
    # Lists can be indexed and sliced. 
    # Indexing returns the item.
    assert squares[0] == 1  # <-- Assertion, иллюстрирующий результат выполнения кода.
    # Slicing returns a new list.
    assert squares[-3:] == [9, 16, 25]  # <-- Assertion, иллюстрирующий результат выполнения кода.

Поэтому процесс пользования репозиторием может быть следующим:

  • Найти интересующую тему, которую вы хотите изучить или вспомнить.
  • Прочитать комментарии, при необходимости перейти по ссылке с более детальным объяснением топика.
  • Ознакомиться с примерами кода и «ассершнами».
  • Изменить или добавить код и посмотреть, как он будет работать.
  • Запустить тесты и проверить стиль написания кода.

Основные разделы репозитория

  1. Getting Started.
  2. Operators.
  3. Data Types.
  4. Control Flow.
  5. Functions.
  6. Classes.
  7. Modules.
  8. Errors and Exceptions.
  9. Files.
  10. Additions.
  11. Brief Tour of the Standard Libraries.

Выводы и планы

Надеюсь, этот проект будет полезен тем, кто собирается учить Python. Информация в репозитории на данный момент покрывает базовые нюансы Python. Я планирую по мере дальнейшего обучения дополнять репозиторий новыми примерами и разделами. Поскольку проект open-source-ный, то ваши пулл-реквесты с исправлениями и дополнениями приветствуются!

Похожие статьи:
Наприкінці червня Верховна Рада прийняла законопроєкт № 8401 щодо скасування податкових пільг для бізнесу. Ця норма набуває чинності...
Вы спросите: «Почему мы?» Наш ответ: «Мы не даем пустых обещаний!» Команда Учебного Центра QA START UP — это квалифицированные тренера,...
Цьогоріч на конференції NATO TIDE Sprint Центр інновацій Міноборони презентував нові технологічні рішення, які використовуються...
Швейцарська компанія Virtuozzo, яка займається софтом для віртуалізації, 5 жовтня 2021 року оголосила про купівлю Jelastic,...
Продовжуємо серію інтерв’ю з людьми, які раніше були просто інженерами, а потім змінили свою кар’єру...
Switch to Desktop Version