Краткая выжимка про относительные и абсолютные импорты. Советую прочесть новичкам и тем, у кого возникли сложности в этом разделе. Итак. Чтобы программа стала более понятной, ее разбивают на классы, где каждый класс отвечает за определенные вещи. Классы не хранят в одном файле, их раскидывают по разным файлам. Файлов может образоваться много, поэтому их группируют по смыслу, по папкам. Мы запускаем проект одним файлом. Его называют исполняемым. Принято его называть main.py. Кроме него есть и другие файлы в проекте с пайтоновским расширением, т.е. по сути они могут быть запущены(но запускать их отдельно нет смысла). Эти файлы для своей работы, также, как и main могут иметь импорты. Главный, исполняемый файл всегда хранят в корне проекта, т.е. мы зашли в папку и он сразу на виду - main.py. Это сделано конечно же для удобства, чтобы мы не вспоминали в какой папке он запрятан. Если это файл находится в корне проекта, т.е. на самом верху, то импортами он лезет вглубь папок, ищет нужные фа