Sobes.tech
Junior

Python-да Union типі аннотациясы не?

sobes.tech AI

AI-дан жауап

Python-дағы Union (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] тең
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 сияқты нақты тексерулердің міндеті.