Как возвращать из функции несколько значений в виде кортежа?

Функция в Python может возвращать несколько значений, просто перечислив их через запятую. Python автоматически упакует эти значения в кортеж.

Пример:
    
def моя_функция(x, y):
  сумма = x + y
  разность = x - y
  return сумма, разность

s, r = моя_функция(5, 3)
print(s, r)  # Выведет: 8 2
    
  

В Python, чтобы вернуть несколько значений из функции в виде кортежа, достаточно просто перечислить эти значения через запятую в операторе return. Python автоматически упакует их в кортеж.

Пример:


def моя_функция(x, y):
  """Возвращает сумму и разность двух чисел."""
  сумма = x + y
  разность = x - y
  return сумма, разность # Возвращается кортеж (сумма, разность)

результат = моя_функция(10, 5)
print(результат)       # Вывод: (15, 5)
print(type(результат))  # Вывод: <class 'tuple'>

# Распаковка кортежа в отдельные переменные
сумма, разность = моя_функция(10, 5)
print("Сумма:", сумма)   # Вывод: Сумма: 15
print("Разность:", разность) # Вывод: Разность: 5
  

Пояснения:

  • Функция моя_функция принимает два аргумента (x и y).
  • Внутри функции вычисляются сумма и разность этих чисел.
  • Оператор return сумма, разность возвращает кортеж, содержащий вычисленные значения.
  • При вызове моя_функция(10, 5) возвращаемый кортеж присваивается переменной результат.
  • Тип переменной результат - tuple (кортеж).
  • Также можно сразу распаковать кортеж в отдельные переменные, используя множественное присваивание: сумма, разность = моя_функция(10, 5). Важно, чтобы количество переменных слева от знака присваивания совпадало с количеством элементов в кортеже.

Преимущества использования кортежей для возврата нескольких значений:

  • Простота и лаконичность: Легко читаемый и понятный код.
  • Упаковка и распаковка: Удобно для группировки и извлечения связанных значений.
  • Иммутабельность: Кортежи неизменяемы, что может быть полезно для обеспечения целостности данных.
0