PEP 810 führt eine explizite Syntax für Lazy-Modulimporte in Python ein. Zuvor boten Pakete ähnliche Funktionalität, es fehlte jedoch dedizierte Sprachunterstützung. Die neue Lazy-Object-Proxy-Funktion der wrapt-Bibliothek kann Lazy-Importe einfach implementieren. Der Hauptzweck von wrapt ist Monkey Patching, das transparente Objekt-Proxys beinhaltet. Diese Proxys fangen den Zugriff auf Zielobjekte ab und ermöglichen spezifische Aktionen. Ein Lazy-Object-Proxy nimmt eine Funktion entgegen, die das Zielobjekt beim ersten Zugriff erstellt, anstatt das Objekt selbst. Dies ermöglicht Lazy-Modulimporte, wie im Beispiel mit wrapt.LazyObjectProxy und __import__ gezeigt. Im Gegensatz zu einigen Methoden, die sys.modules im Voraus mit einem gefälschten Modul ändern, vermeidet dieser Ansatz globale Änderungen. Die Auswirkungen des wrapt-Beispiels beschränken sich auf den Geltungsbereich, in dem der Lazy-Import vorgenommen wird, was dem Ziel von PEP 810, lokalisierte Effekte zu erzielen, entspricht. Es erfordert jedoch eine andere Syntax als Standard-Importanweisungen. PEP 810 zielt darauf ab, gefälschte Modulobjekte im Geltungsbereich zu vermeiden und sicherzustellen, dass die Referenz bei der ersten Verwendung zum tatsächlichen Modul wird. Das wrapt-Beispiel behält ein Proxy-Objekt bei, mit potenziellen zukünftigen Verbesserungen, um es durch das tatsächliche Modul zu ersetzen.
wrapt.LazyObjectProxyund__import__gezeigt. Im Gegensatz zu einigen Methoden, diesys.modulesim Voraus mit einem gefälschten Modul ändern, vermeidet dieser Ansatz globale Änderungen. Die Auswirkungen des wrapt-Beispiels beschränken sich auf den Geltungsbereich, in dem der Lazy-Import vorgenommen wird, was dem Ziel von PEP 810, lokalisierte Effekte zu erzielen, entspricht. Es erfordert jedoch eine andere Syntax als Standard-Importanweisungen. PEP 810 zielt darauf ab, gefälschte Modulobjekte im Geltungsbereich zu vermeiden und sicherzustellen, dass die Referenz bei der ersten Verwendung zum tatsächlichen Modul wird. Das wrapt-Beispiel behält ein Proxy-Objekt bei, mit potenziellen zukünftigen Verbesserungen, um es durch das tatsächliche Modul zu ersetzen.