170 похожих чатов

Привет. Есть функция, на вход которой может передаваться любой дочерний

класс от BaseModel (pydantic). Как правильно указать тайп хинтинг? Сделал такую штуку, но хз, насколько это норм решение...
T = TypeVar("T", bound=BaseModel)


def build_template_string(model: Generic[T]):

15 ответов

11 просмотров

А дальше что с классом делать?

Tishka17
А дальше что с классом делать?

def build_template_string(input_string: str, model: Generic[T]) -> dict: result = {} for _, var, _, _ in Formatter().parse(input_string): if var is not None: value = getattr(model, var, None) if value: result[var] = value return result

Так тип или объект?

Tishka17
Так тип или объект?

объект передаётся

Tishka17
Просто BaseModel тогда

чёт я туплю походу... есть экземпляр от class Event(BaseModel) - его я передаю в функцию. Могут быть экземпляры от различных классов от BaseModel. Type[BaseModel], BaseModel - не подходит

Tishka17
Просто BaseModel укажи

я, наверно, не совсем верно объяснил пример def get_keys(event: Event) -> dict: build_template_string(event)) def build_template_string(model: BaseModel) -> dict: .... Expected type 'BaseModel', got 'Event' instead

Не выходи из комнаты.
я, наверно, не совсем верно объяснил пример d...

https://stackoverflow.com/questions/58675911/dependent-types-and-polymorphism-in-python-with-mypy, вроде то

Vasilii
https://stackoverflow.com/questions/58675911/depen...

пробовал Expected type 'Type[Model]', got 'Event' instead

Показывай код

Не выходи из комнаты.
я, наверно, не совсем верно объяснил пример d...

а ну всё верно, такое и не должно работать, Event от BaseModel унаследован, а не наоборот

Tishka17
Странно. Целиком бы код

уже разобрался. то я тупанул(

Похожие вопросы

Обсуждают сегодня

Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Evo 1.4.34 PHP 7.4 Все работало штатно. На ровном месте SimpleGallery начал выдавать ошибку Что может быть? Уже все переустановил по новой. Места хватает. Хостинг reg.ru
Paul Savchenkov
6
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
юзеры Jetpack Compose тут?
Qtless Qtless
8
Карта сайта