Встречается на собеседованиях • сегодня
Что такое Concatenate в модуле typing
Concatenate из модуля typing используется для аннотации типов в перегруженных функциях, где нужно объединить типы параметров. Особенно полезен в декораторах или функциях высшего порядка, где требуется сохранить информацию о типах исходных аргументов.
Пример с декоратором:
python
from typing import TypeVar, Callable, Concatenate, ParamSpec
T = TypeVar('T')
P = ParamSpec('P')
def add_logging(f: Callable[P, T]) -> Callable[Concatenate[str, P], T]:
def wrapper(msg: str, *args: P.args, **kwargs: P.kwargs) -> T:
print(f"Log: {msg}")
return f(*args, **kwargs)
return wrapper
@add_logging
def greet(name: str) -> None:
print(f"Hello, {name}!")
greet("Debug", "Alice") # Log: Debug\nHello, Alice!
text
Здесь `Concatenate[str, P]` указывает, что новая функция принимает строку (`msg`) перед оригинальными аргументами. Работает только с `ParamSpec` и требует Python 3.10+.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы