Песочница и шпаргалка по изучению Python
- пятница, 31 августа 2018 г. в 00:18:48
Изучать 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, иллюстрирующий результат выполнения кода.
Поэтому процесс пользования репозиторием может быть следующим:
+
, -
, *
, /
, //
, %
, **
)&
, |
, ^
, >>
, <<
, ~
)=
, +=
, -=
, /=
, //=
etc.)==
, !=
, >
, <
, >=
, <=
)and
, or
, not
)is
, is not
)in
, not in
)The if
statementThe for
statement (and range()
function)The while
statementThe try
statementsThe break
statementThe continue
statementdef
and return
statements)*
and **
statements)lambda
statement)try
statement)raise
statement) with
statement)The pass
statementyield
statement)json
library)glob
library)re
library)math
, random
, statistics
libraries)datetime
library)zlib
library)Надеюсь этот репозиторий покажется вам полезным