Un module est un fichier Python réutilisable, un package est un dossier de modules. On les charge avec import ou from ... import .... Chaque module a son propre espace de noms, ce qui évite les collisions. Le bloc if __name__ == '__main__': distingue l'exécution directe de l'import.
Exemple
from pathlib import Path
import math