Назад к вопросам
Junior
64
questionbank
Что такое аннотация типов Union в Python?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Union в Python (из модуля typing) указывает, что переменная или возвращаемое значение может иметь один из нескольких типов.
Например:
# Указывает, что переменная 'value' может быть либо int, либо str
from typing import Union
def process_data(value: Union[int, str]) -> Union[int, str]:
if isinstance(value, int):
return value * 2
else:
return value.upper()
# Пример использования
result1 = process_data(10)
result2 = process_data("hello")
print(result1) # Выведет 20
print(result2) # Выведет HELLO
С версии Python 3.10 можно использовать оператор | для синтаксического сахара:
# Эквивалентно Union[int, str] в Python 3.10+
def process_data(value: int | str) -> int | str:
if isinstance(value, int):
return value * 2
else:
return value.upper()
result1 = process_data(10)
result2 = process_data("hello")
print(result1) # Выведет 20
print(result2) # Выведет HELLO
Union полезен для повышения читаемости кода, его поддержки статическими анализаторами типов (такими как MyPy) и информирования разработчиков о возможных типах данных. Он не предоставляет проверок типов во время выполнения, это задача статических анализаторов или явных проверок isinstance.