классы. как правильно написать аннотацию типов?
my_dict = {
'1str': OneClass,
'2str': TwoClass,
'3str': ThreeClass,
}
пишу
from typing import Dict
my_dict: Dict[str, тут что-то ещё] = {
...
А как дальше используют значения из словаря?
my_dict: dict[str, Type[OneClass] | Type[TwoClass] | Type[ThreeClass]] = ... Но, честно говоря, не думаю, что тебе именно это нужно. Посмотри в сторону паттернов вроде фабрики и прочих, оно и расширятся будет лучше, да и выглядеть по-человечнее
Не факт
это кусок функции, потом в выбранный класс в зависимости от str передаются аргументы принятые в функции return my_dict[2str](*args)
Вообще странные аннотации, ага
Тогда у тебя там не типы, а фабрики
Конкретную привязку классов к ключам не указать. Но согласен, что это выглядит странно
dict[str, Callable[[args...], Resultclass]
Обсуждают сегодня