Сколько аргументов может возвращать функция в Python?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Возвращаемые значения функции в 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 значений и словарём/объектом для большего количества элементов.