Код: Выделить всё
mydict = {
int: "Hello!",
str: 12,
SomeClassName: "Hello again!"}
Я пробовал:
Код: Выделить всё
mydict: dict[type, Any] = {
int: "Hello!",
str: 12,
SomeClassName: "Hello again!"}
Код: Выделить всё
mydict: dict[Type[Any], Any] = {
int: "Hello!",
str: 12,
SomeClassName: "Hello again!"}
Код: Выделить всё
mydict: dict[Any, Any] = {
int: "Hello!",
str: 12,
SomeClassName: "Hello again!"}
Если бы у меня были только определенные типы, такие как int и str, я мог бы вероятно, аннотируйте его как dict[Union[Type[int], Type[str]]], Any], но поскольку я хочу поддерживать ключи типа любой, это просто не подходит это.
Без аннотации типа синтаксис работает нормально, и я даже могу получить определенные значения из словаря. Например:
Код: Выделить всё
mydict = {
int: "Hello!",
str: 12,
SomeClassName: "Hello again!"}
print(mydict[int])
Если это имеет значение, я использую Python 3.9.6 и mypy 0,812.
Подробнее здесь: https://stackoverflow.com/questions/686 ... dictionary