return x, y, z вернет кортеж из трех значений.  Получатель может затем распаковать эти значения: a, b, c = my_function().
В Python функция может возвращать несколько значений, используя несколько способов. Самый распространенный и идиоматичный способ - это возврат кортежа (tuple). Кортеж - это упорядоченная, неизменяемая последовательность элементов.
Пример с кортежем:
def my_function(x, y):
    sum_result = x + y
    product_result = x * y
    return sum_result, product_result  # Возвращаем кортеж
result = my_function(5, 3)
print(result)        # Вывод: (8, 15)
print(result[0])     # Вывод: 8
print(result[1])     # Вывод: 15
# Распаковка кортежа при присваивании
sum_value, product_value = my_function(5, 3)
print(sum_value)   # Вывод: 8
print(product_value) # Вывод: 15
  В этом примере функция `my_function` возвращает два значения, `sum_result` и `product_result`, которые автоматически упаковываются в кортеж. При вызове функции мы можем либо получить весь кортеж целиком, либо распаковать его в отдельные переменные.
Другие способы:
Пример со словарем:
def my_function(x, y):
    sum_result = x + y
    product_result = x * y
    return {'sum': sum_result, 'product': product_result}
result = my_function(5, 3)
print(result)            # Вывод: {'sum': 8, 'product': 15}
print(result['sum'])       # Вывод: 8
print(result['product'])   # Вывод: 15
  Вывод: Кортеж - это наиболее часто используемый и рекомендованный способ возврата нескольких значений в Python, так как он лаконичен, эффективен и подчеркивает неизменяемость возвращаемых данных. Однако, если требуется именование возвращаемых значений, лучше использовать словарь.