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


В итоге все свои эксперименты я вылил на GitHub.



Репозиторий представляет собой коллекцию 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

Надеюсь этот репозиторий покажется вам полезным

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


  1. Andronas
    29.08.2018 21:43

    Полезно, спасибо


  1. sotvm
    30.08.2018 11:46
    -1

    Полезно, НО
    плохо что комменты не на Русском, отпугивает многих начинающих, не знакомых с языком.


    1. anandr
      30.08.2018 12:40

      А по моему это не плохо, а +1 к полезности.


    1. scrow
      30.08.2018 12:55

      2018. Не знать инглишь хотя бы базово.
      Серьезно?


      1. anprs
        30.08.2018 16:04

        инглишь
        с точки зрения русиша — мягкий знак в конце допустим?


        1. scrow
          30.08.2018 16:07

          Будем считать что это был британский инглишь.


          1. mgremlin
            30.08.2018 17:11

            Индийский :-)


      1. hellowitty
        30.08.2018 17:48

        Может быть человек из 1С хочет в python переучиться? ;)


    1. Sly_tom_cat
      30.08.2018 14:41

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


    1. tema_sun
      30.08.2018 15:00

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


      1. sotvm
        30.08.2018 17:56
        +1

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


      1. isam_os
        30.08.2018 18:09
        +1

        мнение ограниченного человека…


      1. Fracta1L
        30.08.2018 20:41
        -1

        На каком уровне разработчик должен знать английский по мнению Вашего Снобейшества? Диплома МГИМО достаточно, чтобы заслужить одобрение?


      1. saipr
        31.08.2018 19:53

        И много уже не нанял?


  1. Sklert
    30.08.2018 20:42

    Отличная тема!) У самого тоже есть скрипт на проверку работы сечений в numpy массивах, постоянно забываю, когда и как они там делятся, копируются


  1. Sibiryak999
    31.08.2018 13:39

    Большое спасибо! Очень полезная вещь.


  1. vaness10101
    01.09.2018 17:09

    Насчет

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


    А чем pycharm плох? Даже бесплатная версия очень хорошо помогает правильно писать, вплоть до неправильно поставленных пробелов.