← Назад к вопросам

Сколько аргументов может возвращать функция в Python?

2.0 Middle🔥 101 комментариев
#Django#Асинхронность и многопоточность#Брокеры сообщений

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Возвращаемые значения функции в Python

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

Один возвращаемый элемент

Можно вернуть одно значение:

def get_name():
    return "Alice"

result = get_name()
print(result)  # Alice

Несколько возвращаемых значений

Функция может вернуть несколько значений, используя кортеж:

def get_user_info():
    return "Alice", 30, "alice@example.com"

name, age, email = get_user_info()
print(name)   # Alice
print(age)    # 30
print(email)  # alice@example.com

Явное указание кортежа

Можно явно создать кортеж:

def get_coordinates():
    return (10, 20, 30)  # явный кортеж

x, y, z = get_coordinates()
print(x, y, z)  # 10 20 30

Возврат коллекций

Для возврата большого количества значений лучше использовать списки или словари:

def get_products():
    return ["laptop", "mouse", "keyboard"]

products = get_products()
for product in products:
    print(product)
def get_person():
    return {"name": "Bob", "age": 25, "city": "NYC"}

person = get_person()
print(person["name"])  # Bob

Без явного возврата

Если функция не содержит return, она возвращает None:

def do_something():
    print("doing work")

result = do_something()
print(result)  # None

Условные возвраты

Частая практика — возвращать разное количество значений в зависимости от условия:

def validate(value):
    if value > 0:
        return True, "Valid"
    else:
        return False, "Invalid value"

is_valid, message = validate(5)
print(is_valid, message)  # True Valid

Практическое применение

Возврат нескольких значений часто используется при обработке данных:

def parse_data(data):
    success = True
    parsed_value = int(data)
    errors = []
    return success, parsed_value, errors

success, value, errors = parse_data("123")

Заключение

Питон позволяет возвращать сколько угодно значений благодаря встроенной поддержке кортежей (unpacking). Это делает функции очень гибкими. На практике выбирают между кортежом для 2-3 значений и словарём/объектом для большего количества элементов.

Сколько аргументов может возвращать функция в Python? | PrepBro