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.
Bedenken Sie Folgendes Code:
class SomeClass(object): def not_often_called(self): from datetime import datetime self.datetime = datetime.now()
im Vergleich zu:
from datetime import datetime class SomeClass(object): def not_often_called(self): self.datetime = datetime.now()
Der Modulimport erfolgt zwar schnell, aber nicht sofort. Deshalb:
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.
Obwohl verzögerter Import im Allgemeinen ineffizient ist, gibt es gültige Szenarien:
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!