January 17, 2020

Модули и пакеты

В Python можно создавать не только модули, но и пакеты.

Что такое модуль - по сути дела модуль это скрипт с расширением .py, который может быть использован другими скриптами с расширением .py.

А пакет - это объединенный набор модулей.

По большому счету это вся разница между модулем и пакетами. То есть пакеты существуют для того, чтобы логически объединять модули.

На самом деле с пакетами мы очень много уже работали, например, fizz_buzz и fizz_buzz_tests. Они у нас лежали в одном каталоге, и это два модуля, которые взаимодействуют между собой.

Давайте попробуем создать пакет со структурой каталогов.

Мы создали два скрипта:

Чтобы пакеты воспринимались, как пакеты нужно так же создать файлы, которые называются __init__.py в каждом подкаталоге. Просто создаем текстовый файл и меняем ему название и расширение на это. Теперь импортируем пакет, назовем его package_test и сохраним рядом с папкой MainPackage.

Теперь вызовем package_test:

Как видим - все отлично отработало.

Мы можем сделать псевдоним, то есть, если мы импортируем какой то скрипт, но хотим обращаться к нему не по его имени, то можем придумть ему другое имя через оператор as: