Maison >développement back-end >Tutoriel Python >Les importations doivent-elles être en haut d'un module Python ou dans les fonctions ?

Les importations doivent-elles être en haut d'un module Python ou dans les fonctions ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-03 16:15:12536parcourir

Should Imports Be at the Top of a Python Module or Within Functions?

Où les instructions d'importation doivent-elles être placées dans un module ?

PEP 8 stipule que les instructions d'importation doivent résider au début du module, en suivant les commentaires du module. et des docstrings. Cependant, certains soutiennent que l'importation de fonctions rarement utilisées au sein de la fonction elle-même améliore l'efficacité.

Pourquoi placer les importations en haut ?

Malgré le coût insignifiant, l'importation d'un module n'est pas instantané. Placer les importations en haut du module garantit qu'elles ne sont payées qu'une seule fois. À l'inverse, l'importation dans les fonctions prolonge le temps d'exécution des appels de fonction.

Arguments en faveur des importations paresseuses

Bien que donner la priorité à l'efficacité justifie de placer les importations en haut, il existe des scénarios spécifiques dans lesquels les importations paresseuses peut être bénéfique :

  • Prise en charge facultative de la bibliothèque : Évitez de casser Dépendances de code sur les bibliothèques facultatives en effectuant des importations uniquement lorsque cela est nécessaire.
  • Initialisation du plug-in : Limitez l'importation de dépendances dans les fichiers du plug-in __init__.py, évitant ainsi un chargement inutile dans les plug-ins inutilisés.

Conclusion

Les problèmes d'efficacité imposent de placer les importations au démarrage du module. Les importations paresseuses ne doivent être envisagées que lorsque le profilage identifie des avantages spécifiques en termes de performances ou lorsque les scénarios susmentionnés s'appliquent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn