До сих пор вся программа жила в одном файле. Но код, который нужен второй и третий раз, выносят в отдельный файл – и подключают его к новому.
Модуль – файл с кодом на Python, готовый к подключению: в нём лежат функции и значения, которыми можно пользоваться из другой программы.
Библиотека – набор модулей, собранных вместе по одной теме: математика – в одном наборе, работа с датами – в другом.
Стандартная библиотека – модули, которые идут в комплекте с Python. Их не нужно нигде брать и ставить: они уже лежат на компьютере рядом с самим языком.
Сторонняя библиотека – модули, которые написали другие люди и выложили отдельно. Её скачивают и устанавливают сами.
Слово «пакет» значит примерно то же, что «библиотека»: несколько модулей вместе. В Python у него есть и более точное значение, но для нас пока важно одно: модуль – это файл, а библиотека – это много файлов.
Верно и обратное: наша собственная программа – обычный файл с кодом, то есть тоже модуль. Написанное сегодня можно завтра подключить к другому файлу – ровно так же, как подключают math.