Runtime Access to Generic Types on Class Method
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 1.8k
- Forks
- 302
- Ø Merge
- 23 Std.
- Gemergte PRs (30 T.)
- 8
Beschreibung
I would like to be able to access the type arguments of a class from its class methods.
To make this concrete, here is a generic instance:
import typing
import typing_inspect
T = typing.TypeVar("T")
class Inst(typing.Generic[T]):
@classmethod
def hi(cls):
return cls
I can get its generic args:
>>> typing_inspect.get_args(Inst[int])
(int,)
But, these seem to get erased inside the class methods:
>>> typing_inspect.get_args(Inst[int].hi())
()
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie mit den Inst[int]- und classmethod-Beispielen im Issue und untersuchen Sie anschließend das Verhalten von typing und typing_inspect, das an der Auflösung generischer Aliase zur Laufzeit beteiligt ist. Die Arbeit ist abgeschlossen, wenn eine class method auf die Typargumente der spezialisierten Klasse zugreifen kann, ohne sie zu löschen, und das Verhalten für das gemeldete Beispiel demonstriert wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100