DOU Проектор: репозиторій на GitHub – шпаргалка для вивчення Python
У рубриці DOU Проектор всі бажаючі можуть презентувати свій продукт (як стартап, так і ламповий pet-проект). Якщо вам є про що розповісти — запрошуємо взяти участь. Якщо ні — можливо, серія надихне на створення власної made in Ukraine продукту. Питання і заявки на участь надсилайте на [email protected] .
Привіт, читачі! Мене звуть Олексій, я — 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, що ілюструє результат виконання коду.
Тому процес користування сховищем може бути наступним:
- Знайти тему , яку ви хочете дізнатися або згадати.
- Прочитати коментарі, при необхідності перейти по посиланню з більш детальним поясненням топіка.
- Ознайомитися з прикладами коду і «ассершнами».
- Додати або змінити код і подивитися, як він буде працювати.
- Запустити тести і перевірити стиль написання коду .
Основні розділи репозиторію
- Getting Started.
- Operators.
- Data Types.
- Control Flow.
- Functions.
- Classes.
- Modules.
- Errors and Exceptions.
- Files.
- Additions.
- 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-сервісу для бронювання турів