Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:circular_import

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python:circular_import [2022/04/11 15:42]
root
python:circular_import [2022/04/11 15:43] (aktuell)
root [Circular Import wegen Typing]
Zeile 35: Zeile 35:
 if TYPE_CHECKING: if TYPE_CHECKING:
    import whateverlib resulting else in circular import    import whateverlib resulting else in circular import
- 
  
 rest of code rest of code
Zeile 41: Zeile 40:
  
   * Der Import von annotations von <code>__future__</code> sorgt dafür das die Prüfung der Klassen die für Typing angegeben sind erst auf Existenz geprüft werden nach dem das Modul komplett geladen worden ist (also alle Klassen bekannt sind)   * Der Import von annotations von <code>__future__</code> sorgt dafür das die Prüfung der Klassen die für Typing angegeben sind erst auf Existenz geprüft werden nach dem das Modul komplett geladen worden ist (also alle Klassen bekannt sind)
 +      * ab Python 3.10 ist das Standart-Verhalten und nicht mehr notwendig
   * TYPE_CHECKING ist eine Konstante, die nur dann True ist wenn Typen geprüft werden, das heißt die Bibliothek wird auch nur in diesem Moment geladen und verursacht somit keinen Circular Import   * TYPE_CHECKING ist eine Konstante, die nur dann True ist wenn Typen geprüft werden, das heißt die Bibliothek wird auch nur in diesem Moment geladen und verursacht somit keinen Circular Import
  
  
  
python/circular_import.1649684554.txt.gz · Zuletzt geändert: 2022/04/11 15:42 von root