Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Как вернуть несколько значений в Python: простое руководство

Как вернуть несколько значений в Python: простое руководство

С Python мы можем возвращать несколько значений сразу. Очевидно, большинство функций в Python возвращают одно значение, обычно результат работы, сделанной этой функцией. В этой статье вы узнаете, что вы можете возвращать несколько значений в Python тоже, и вам не нужен словарь, список или дата-класс для этого.

Содержание

Возврат нескольких значений с кортежем

Всё, что вам нужно сделать — перечислить ваши значения после оператора return, разделенные запятыми. Вот пример того, как вернуть несколько значений и как назначить их нескольким переменным сразу:

def get_user(id):
    # fetch user from database
    # ....
    return name, birthdate
name, birthdate = get_user(4)

Что мы на самом деле делаем здесь — возвращаем кортеж. Мы могли бы написать return (name, birthdate) тоже, с тем же эффектом. И если вы спрашиваете, можете ли вы возвращать больше двух значений таким образом: да, можете!

Самое очевидное преимущество возврата нескольких значений в Python с использованием кортежа в том, что мы можем напрямую назначить результат нескольким переменным. Это супер чисто и лаконично, как и задумано в Python.

Альтернативные способы в Python вернуть несколько значений

Использование кортежей для возврата нескольких значений в Python нормально для ограниченного количества значений. Потому что мы можем напрямую распаковать их в четко названные переменные, это на самом деле приводит к очень читаемому, лаконичному коду.

Однако, как только вы превышаете 2 или 3 значения, вы должны посмотреть в сторону дата-класса, чтобы держать ваш код чистым и читаемым. Дата-класс — это по сути обычный класс, аннотированный с @dataclass, чтобы дать ему несколько удобных дополнительных функций.

Если дата-класс не вариант, потому что вы работаете на старой версии Python, например, вы также можете рассматривать возврат:

Что лучше зависит от типа данных, которые вы возвращаете. Если данные хорошо ложатся в список, используйте список. В случае, если данные имеют ключи и значения, используйте словарь. Если ваши данные более сложные, вам может даже понадобиться положить несколько списков внутри словаря. Просто помните, в какой-то момент будет чище использовать (дата-)класс.

Продолжайте учиться

Python

  1. Освоение типов данных в Python: практическое руководство
  2. Мастерство операторов Python: Полное руководство
  3. Оператор pass в Python: практическое руководство
  4. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  5. Словари в Python: создание, манипуляции и продвинутые техники
  6. Итераторы в Python: как они работают и как создать свои
  7. Замыкания в Python: как вложенные функции захватывают переменные
  8. Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
  9. Освоение Python time.sleep(): лучшие практики, многопоточность и реальные примеры
  10. Освоение yield в Python: генератор против return — практическое руководство