2 votes

Est-ce que la bibliothèque sera importée deux fois?

Je suis en train d'écrire un projet en python. J'utilise une bibliothèque (pandas) à l'intérieur d'un module où ma classe est stockée. Ensuite, j'importe ce module dans le script principal. Ensuite, je veux utiliser la même bibliothèque dans mon script principal.

La bibliothèque sera-t-elle importée deux fois? Si oui, quels sont les effets secondaires sur les performances? Comment puis-je les éviter?

4voto

Grismar Points 2693

Non, une fois qu'il est chargé, il est mis en cache et ne sera pas chargé à nouveau. Vous pouvez l'importer en toute sécurité dans n'importe quel fichier source où vous avez besoin qu'il soit en portée sans impact sur les performances.

Notez que ceci est également pertinent si vous réalisez qu'un module est réellement exécuté lorsqu'il est chargé pour la première fois.

Par exemple si vous avez my_mod.py:

def hello():
    print('hello')

print('chargement')

Et vous l'utilisez depuis main.py:

import my_mod

input('en attente, appuyez sur entrée')
hello()

Vous remarquerez que chargement sera imprimé et ensuite après avoir saisi quelque chose, hello sera imprimé. Vous pouvez importer le même fichier à nouveau depuis d'autres modules, mais chargement ne sera pas imprimé à nouveau, car le module n'est pas exécuté à nouveau, il est simplement mis en portée partout où vous l'importez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X