Библиотеки или пакеты в Python
Представьте себе, что вы храните всю информацию на вашем компьютере в одном месте. Музыка, фильмы, документы, все в перемешку в одной папке, хаос и неразбериха. Конечно же вы так не делаете. Когда вы пишите программы, нужно так же аккуратно раскладывать свой код, соблюдать иерархию.
По мере того, как наша программа увеличивается в размерах, у нас появляются различные модули и функции. В случае если мы не соблюдаем иерархию, нам самим сложно будет в будущем понять, что где находится.
Формирование пакета происходит следующим образом. В каталоге обязательно должен находится файл __init__.py что бы Python, рассматривал его именно как пакет. Данный файл может быть пустым, но обычно в нем находится код для инициализации. Ниже представлена иерархия небольшой игры.
Представлена выше иерархия, не является обязательной, она может меняться в зависимости от вашей кодовой базы.
Импорт модуля из пакета
Импорт модуля из пакета осуществляется с помощью оператора точка(.). Допустим, мы хотим импортировать модель start.py из приведенного выше примера.
import Game.Level.start
Как видите нет ничего сложного, точно так же можно проводить импорт и из сторонних библиотек, мы просто прошлись по пути, где хранится нужный нам модуль.
Отлично, мы импортировали нужный нам модуль, теперь допустим нам надо забрать оттуда какую то функцию.
import Game.Level.start.namefunc() #То есть мы обращаемся по полному пути
Так же, импорт можно осуществлять и другой командой, более удобной на мой взгляд.
from Game.Level import start
Затем достаточно просто вызвать нужную нам функцию
start.namefunc()