|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : mai 2010 Messages : 164 ![]() |
[Avant propos : j'ai bouffé du tuto mais je n'apprends ce langage que depuis 2 jours]
Bonjour à tous, J'ai un fichier1 qui importe shutil (entre autres). Il y a dans ce fichier1 un appel vers une classe de fichier2. Je pensais que le fichier1 pouvait "réutiliser" ses imports avec le fichier2 car ce dernier devient inclus dans fichier1 par l'appel. Et effectivement si j'importe shutil dans le fichier2, tout rentre dans l'ordre. La question : peut-on éviter de faire appel plein de fois à la même librairie dans le cadre d'une inclusion de fichier ? Parce que j'imagine qu'on perd en perf dans mon cas. Merci à vous, A bientôt, LeHibou |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : octobre 2008 Messages : 942 ![]() |
Non, c'est la procédure normale.
shutil n'est réellement importé qu'une seule fois. Lorsque tu l'importes à nouveau dans un autre module, il est simplement ajouté à l'espace de nom de ce module, sans quoi tu ne pourrai l'utiliser dans celui-ci. |
|
|
00
|
|
|
#3 | |||
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 710 ![]() |
Salut,
Lorsqu'un script est "importé", il devient "module". "import" ajoute des définitions de variables au "module" fichier1. La définition des variables d'un "module" va dans l'espace de nom "globals()" qui malgré son nom est "local" au module. => les imports effectués dans "fichier1" modifient son "globals()" mais pas celui du module "fichier2" Citation:
"import" fait 2 choses:
Exemple "simpliste": Code :
- W
__________________
Architectures Post-Modernes |
|||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : mai 2010 Messages : 164 ![]() |
Merci beaucoup à vous deux, vous avez contribué à mon apprentissage
![]() Effectivement, je viens d'autres langages et c'était un point qu'il me fallait comprendre. Merci beaucoup à vous encore une fois et bonnes fêtes si vous y accordez une quelconque attention LeHibou |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com