Урок 4. Модули
Поговорим о модулях в понятии программирования на python.
К примеру, мы написали скрипт. В этом скрипте мы реализовали возможность моргать светодиодом. Потом стали писать другой скрипт, который реагирует на нажатие кнопки и в этот момент нам снова нужно моргнуть светодиодом. Получается что мы заново можем написать скрипт моргания светодиодом. А можем воспользоваться предыдущим, где уже это описывали. Тогда предыдущий скрипт, или файл с расширением *.py и будет являться модулем.
Дальше мы сможем отправить наш модуль моргания светодиодом другу, чтобы он тоже не тратил лишнее время на написание кода, а воспользовался уже готовым. В свою очередь, друг пришлёт нам свой модуль, где реализовал возможность крутить мотор. Затем модулем можно поделиться не только с другом, но и с неограниченным кругом людей, например, в социальных сетях или на каком-либо форуме, ну или на профильных ресурсах.
Абсолютно таким же способом можно и пользоваться уже готовым кодом - модулями, для своих проектов, чтобы не изобретать заново велосипед. Для того чтобы написать наш первый скрипт для контроллера, который сможет взаимодействовать с устройствами, нам понадобятся уже готовые модули, которые встроены в среду программирования.
Указать что мы используем уже готовый модуль можно двумя способами. первый - конструкция import module, где “module” - это имя модуля, который мы хотим использовать (импортировать). При этом фактически подрузится весь модуль. Но если модуль очень большой, мы можем указать что нам нужна только конкретная функциональность. Для этого используется конструкция from module import func , где вместо “module” нужно указать имя модуля из которого производится импорт и вместо “func” нужно использовать требуемую функциональность.
Как узнать какой модуль нужен?
Можно воспользоваться поиском в интернете. В результатах поиска может быть несколько готовых модулей. К ним часто прилагается документация, где описано, для чего был создан модуль и как его использовать.
Первый скрипт, который мы будем создавать для устройства - это мигание светодиодом. Для этого нам понадобятся два модуля: первый, отвечающий за время - модуль time (он нам поможет сделать задержку в несколько секунд). Второй модуль machine - он отвечает за поведение контроллера и использование его выводов. Из этого модуля нам понадобится только та часть, которая отвечает за выводы - она называется Pin.
Запомнить:
- Модуль - это уже кем-то написанный код, который можно повторно использовать
- С помощью конструкции import module, где “module” - это имя модуля, импортируется модуль целиком
- С помощью конструкции from module import func, из модуля импортируется только нужная функциональность