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

У рубриці DOU Проектор всі бажаючі можуть презентувати свій продукт (як стартап, так і ламповий pet-проект). Якщо вам є про що розповісти — запрошуємо взяти участь. Якщо ні — можливо, серія надихне на створення власної made in Ukraine продукту. Питання і заявки на участь надсилайте на editors@dou.ua .

Привіт, читачі! Мене звуть Олексій, я — 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-ний, то ваші пулл-реквесты з виправленнями і доповненнями вітаються!

Опубліковано: 04/09/18 @ 10:16
Розділ Різне

Рекомендуємо:

DOU Labs: як в RiverSoft створили додаток для зручної організації заходів
Финстрип за Серпень 2018. Майже апнул 100К
C++ дайджест #7: оновимо знання з Qt
Ruby/Rails дайджест #21: реліз Rails 5.2.1, бета-версія Hanami 1.3.0, добірка матеріалів з конференції EuRuKo 2018
DOU Проектор: Escapewithpro — наш досвід розробки travel-сервісу для бронювання турів