Курс Python → Возвращение нескольких значений через кортеж или класс

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

def get_person_info():
    name = "John"
    birthdate = "01-01-2000"
    return name, birthdate

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

class PersonInfo:
    def __init__(self, name, birthdate, address):
        self.name = name
        self.birthdate = birthdate
        self.address = address

def get_person_info():
    name = "John"
    birthdate = "01-01-2000"
    address = "123 Street, City"
    return PersonInfo(name, birthdate, address)

Таким образом, мы создаем класс PersonInfo с нужными атрибутами и возвращаем экземпляр этого класса из функции. Это делает код более читаемым и удобным для работы с большим количеством значений.

Использование класса также позволяет нам легко расширять функциональность и добавлять новые атрибуты при необходимости. Это делает код более гибким и поддерживаемым в долгосрочной перспективе.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Разница между датами
  2. Объединение словарей в Python 3.5+
  3. Работа со слайсами
  4. Кортежи в Python: особенности и преимущества
  5. Работа с collections в Python
  6. Декораторы классов
  7. Цикл for в Python
  8. Dict Comprehension в Python
  9. Атрибуты класса и экземпляра
  10. Уникальные значения из списка
  11. Идентификатор объекта в Python
  12. Возведение в квадрат с помощью itertools
  13. Работа с датой и временем в Python
  14. Создание итерируемых объектов
  15. Расчет времени выполнения программы
  16. Функция с *args.
  17. Фильтрация последовательности
  18. Работа с исключениями в Python
  19. Сравнение def и lambda функций в Python
  20. Построение графиков в Matplotlib
  21. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  22. Оптимизация интернирования строк
  23. Вычисление разности множеств в Python
  24. Нан-рефлексивность в Python
  25. Создание новых списков через list comprehensions
  26. Чтение и запись TOML-конфигов
  27. Модуль Operator в Python
  28. Сортировка и обратный порядок
  29. Регистрация на хакатоне
  30. Работа с прокси в Python
  31. Декораторы в Python
  32. Оформление кода по PEP 8
  33. Создание файла с проверкой ошибки
  34. Объединение словарей в Python
  35. Модуль os в Python: работа с файлами
  36. Python: Splat-оператор и splatty-splat
  37. Подсчет частотности элементов в Python
  38. Сортировка списка по индексам
  39. Объявление переменных в Python
  40. Операции с кортежами
  41. Округление дробей в Python
  42. Функции all() и any() в Python
  43. Асинхронное выполнение задач в процессах
  44. Библиотека Rich: форматирование текста
  45. Проверка класса объекта
  46. Наиболее частотные элементы с помощью Counter
  47. Слияние словарей в Python 3.9
  48. Проверка окончания строки с помощью str.endswith()

Marketello читают маркетологи из крутых компаний