Avatar ·

Exécuter du code lors de l'importation d'un module en Python est-il une mauvaise pratique ?

📁 Question simple de débutant, IA

J'ai rencontré à plusieurs reprises des mentions selon lesquelles exécuter du code lors de l'importation d'un module est une mauvaise pratique. Cependant, je n'ai trouvé nulle part d'explications à cette affirmation. Deux questions se posent.

Premièrement : pourquoi l'exécution de code lors de l'importation d'un module est-elle considérée comme une mauvaise pratique ?

Deuxièmement : que considère-t-on comme exécution de code dans le contexte de cette affirmation ? L'affectation de valeurs à des variables globales, l'exécution de fonctions, ou autre chose ? En effet, la définition de classes et de fonctions dans ce module, ainsi que l'importation d'autres modules (dans ce module que nous importons), cela peut-il aussi être considéré comme de l'"exécution de code" ?