Heim > Backend-Entwicklung > Python-Tutorial > Top- oder Lazy-Importe in Python: Was ist effizienter?

Top- oder Lazy-Importe in Python: Was ist effizienter?

Barbara Streisand
Freigeben: 2024-12-02 21:14:14
Original
500 Leute haben es durchsucht

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

Importanweisungen am Anfang oder innerhalb von Modulen: Effizienzbedenken

PEP 8 schreibt die Platzierung von Importanweisungen am Anfang einer Datei vor, was die Frage aufwirft, ob dies der Fall ist ist effektiver, Module nur bei Bedarf zu importieren.

Leistungsvergleich

Bedenken Sie Folgendes Code:

class SomeClass(object):

    def not_often_called(self):
        from datetime import datetime
        self.datetime = datetime.now()
Nach dem Login kopieren

im Vergleich zu:

from datetime import datetime

class SomeClass(object):

    def not_often_called(self):
        self.datetime = datetime.now()
Nach dem Login kopieren

Der Modulimport erfolgt zwar schnell, aber nicht sofort. Deshalb:

  • Importanweisungen oben:Ein geringer Kostenaufwand fällt nur einmal an.
  • Lazy Imports:Bewirkt, dass jeder Funktionsaufruf ausgeführt wird dauert länger.

Effizienzüberlegungen

Priorisieren Sie Importanweisungen am Anfang der Datei aus Effizienzgründen, wenn die Leistung ein Problem darstellt. Berücksichtigen Sie verzögerte Importe innerhalb von Funktionen nur, wenn die Profilerstellung einen Leistungsgewinn erkennen lässt.

Legitime Gründe für verzögerte Importe

Obwohl verzögerter Import im Allgemeinen ineffizient ist, gibt es gültige Szenarien:

  • Optionale Bibliotheken: Vermeiden Sie den Import von Bibliotheken nicht immer verfügbar.
  • __init__.py Plugins: Verhindern Sie den Import von Plugins, die möglicherweise nicht verwendet werden.

Zusammenfassend lässt sich sagen, dass Importe aus Effizienzgründen ganz oben auf den Modulen platziert werden, es sei denn Es gibt zwingende Gründe für Lazy Loading, wie etwa optionale Bibliotheken oder inaktive Plugins.

Das obige ist der detaillierte Inhalt vonTop- oder Lazy-Importe in Python: Was ist effizienter?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage