каких случаях лучше использовать TypeVar?
A = TypeVar('A', str)
A = str
Допустим UserId = TypeVar("UserId", int) Более понятное обозначение / создание класса для более детальной обработки Так же ещё в генериках используются
То есть всегда лучше TypeVar использовать для уточнения типа?
Если тебе это надо, приведу пример У тебя допустим из функции достаются типы для обработки в сфере текста, но ты не знаешь что юзеру надо int или UserId тупо делаешь alias TypeVar("UserId", int) if argument_type is UserId
TypeVar только для генериков используется, и только в них имеет смысл
Чушь. Для этого NewType нужно использовать
Да попутал — сорян, часик ночи
Кстати, если не путаю, TypeVar('A', str) - вообще некорректно. Тайпчекеры запрещают это, потому что разницы с простым str нет
NewType тоже так не работает. UserId = NewType("UserId", int) во время тайпчека считается подтипом int, а вот в рантайме этого типа не существует, UserId - просто функция, возвращающая свой аргумент без изменений
Обсуждают сегодня