Maison >développement back-end >Tutoriel Python >Importations supérieures ou paresseuses en Python : laquelle est la plus efficace ?

Importations supérieures ou paresseuses en Python : laquelle est la plus efficace ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-02 21:14:14434parcourir

Top or Lazy Imports in Python: Which Is More Efficient?

Instructions d'importation en haut ou dans les modules : problèmes d'efficacité

PEP 8 impose le placement d'instructions d'importation au début d'un fichier, ce qui soulève la question de savoir s'il Il est plus efficace d'importer des modules uniquement en cas de besoin.

Comparaison des performances

Considérez les éléments suivants code :

class SomeClass(object):

    def not_often_called(self):
        from datetime import datetime
        self.datetime = datetime.now()

versus :

from datetime import datetime

class SomeClass(object):

    def not_often_called(self):
        self.datetime = datetime.now()

Bien que l'importation de modules soit rapide, elle n'est pas instantanée. Par conséquent :

  • Déclarations d'importation en haut : Un coût mineur encouru une seule fois.
  • Importations paresseuses : Entraîne chaque appel de fonction à prendre plus de temps.

Considérations d'efficacité

Donner la priorité aux déclarations d'importation au début du fichier pour plus d'efficacité si les performances sont un problème. N'envisagez les importations paresseuses au sein des fonctions que si le profilage révèle un gain de performances.

Raisons légitimes des importations paresseuses

Bien que l'importation différée soit généralement inefficace, il existe des scénarios valables :

  • Bibliothèques facultatives : Évitez d'importer des bibliothèques pas toujours disponibles.
  • Plugins __init__.py : Empêcher l'importation de plugins qui ne peuvent pas être utilisés.

En résumé, placez les importations en haut des modules pour plus d'efficacité, sauf si il existe des raisons impérieuses de chargement paresseux, telles que des bibliothèques facultatives ou des plugins inactifs.

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