Typevar als Diktatschlüsseltyp Hinweis "hat in diesem Zusammenhang keine Bedeutung"
Posted: 11 May 2025, 22:44
Der Kontext:
Ich habe einen Diktat, dessen Schlüssel willkürliche Typen sind und deren Werte eine Zeichenfolge sind, die eine Zeichenfolge aufnehmen und eine Instanz des gleichen Typs wie der Schlüssel zurückgeben. Zum Beispiel: < /p>
Das Problem:
Ich möchte ordnungsgemäß einen Hinweis geben, dass dieser Diktat der Konverterfunktionen
Was nicht funktioniert:
Pylance ist mit dem t im TypeConverter alias zufrieden, beschwert sich jedoch über den T -Taste T :
Ich dachte
Das scheint schlechter zu sein, da Pylance jetzt die gleiche Beschwerde über beide t s
Was mache ich falsch oder ist dies ein Pylance -Problem?
Ich habe einen Diktat, dessen Schlüssel willkürliche Typen sind und deren Werte eine Zeichenfolge sind, die eine Zeichenfolge aufnehmen und eine Instanz des gleichen Typs wie der Schlüssel zurückgeben. Zum Beispiel: < /p>
Code: Select all
class Hero:
def __init__(self, name):
self.name = name
all_heroes = {
"deadpool": Hero("wade wilson"),
"wolverine": Hero("james howlett")
}
REGISTERED_CONVERTERS = {
Hero: all_heroes.get,
int: int,
}
hero_lookup = REGISTERED_CONVERTERS[Hero]
assert hero_lookup("deadpool").name == "wade wilson"
int_lookup = REGISTERED_CONVERTERS[int]
assert int_lookup("5") == 5
Ich möchte ordnungsgemäß einen Hinweis geben, dass dieser Diktat der Konverterfunktionen
Was nicht funktioniert:
Code: Select all
from typing import Callable, TypeVar
T = TypeVar("T")
TypeConverter = Callable[[str], T]
REGISTERED_CONVERTERS: dict[type[T], TypeConverter] = {
int: int,
}
Code: Select all
Type variable "T" has no meaning in this context Pylance(reportGeneralTypeIssues)
(constant) T: type[T]
Code: Select all
T = TypeVar("T")
REGISTERED_CONVERTERS: dict[type[T], Callable[[str], T]] = {
int: int,
}
Was mache ich falsch oder ist dies ein Pylance -Problem?