Typhinweis auf eine Methode mit umschließendem Klassentyp
In Python kann die Darstellung des Typs der umschließenden Klasse einer Methode je nach Methode durch verschiedene Methoden erreicht werden auf der Python-Version.
Python 3.7 mit 'from zukünftige Annotationen importieren'
Durch die Aktivierung der Funktion „Verzögerte Auswertung von Annotationen“ mit aus __future__-Importanmerkungen können Anmerkungen als Zeichenfolgen gespeichert und asynchron ausgewertet werden.
from __future__ import annotations class Position: def __add__(self, other: 'Position') -> 'Position': ...
Python 3.11 mit „from typing import Self'
Python 3.11 führt den Self-Typ ein, um den umschließenden Klassentyp darzustellen.
from typing import Self class Position: def __add__(self, other: Self) -> Self: ...
Python <3.7
Für In Python-Versionen vor 3.7 werden Zeichenfolgen verwendet, um die einschließende Klasse anzugeben Typ.
class Position: def __add__(self, other: 'Position') -> 'Position': ...<p><strong>Umgang mit Vorwärtsverweisen</strong></p> <p>PEP 484 gibt an, dass Vorwärtsverweise als Zeichenfolgen dargestellt werden sollten, bis sie vollständig definiert sind.</p> <pre class="brush:php;toolbar:false">class Tree: def __init__(self, left: 'Tree', right: 'Tree'): ...
Alternativen
Vermeiden Sie die Verwendung von Dummy-Definitionen Einschließen einer Klasse oder Monkey-Patching der Klasse, um Anmerkungen hinzuzufügen, da diese Ansätze zu einem falschen Anmerkungsverhalten führen können.
Das obige ist der detaillierte Inhalt vonWie kann ich die umschließende Klasse einer Methode in Python eingeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!