Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/64: Рейтинг темы: голосов - 64, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.10.2019
Сообщений: 11

Зачем нужен return

22.11.2019, 09:22. Показов 13817. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
return возвращает какие-то значения или что-то ещё. Для чего? кому куда и т.д
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.11.2019, 09:22
Ответы с готовыми решениями:

Зачем нужен super?
Здравствуйте. Знаю и понимаю, что такое MRO. Но не понимаю, что такое super. Понимаю, что super нужен, если в конструкторе мы хотим...

Зачем нужен счетчик в цикле ?
Всем довольно легкий вопрос , но я не могу зачем нужен счетчик ? ведь можно и без него обойтись или как ? Заранее спасибо за ответ

Зачем нужен int в аргументе функции
Добрый день! Скажите зачем нужен int в аргументе функции? Поэкспериментировал с различными аргументами - разницы ни какой. def...

9
 Аватар для Damenikx
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
22.11.2019, 09:41
ndyakov, return - привязывает результат выполнения функции к самой функции. Пример:

Python
1
2
3
4
5
def hello():
    x = 2 + 2
    return x
 
print(hello())
x - содержит результат вычисления 2+2
return x - этой строкой мы говорим, что функция Hello - содержит этот результат, то есть = 4
print(hello()) - вызываем функцию, а т.к. она содержит в себе результат, то и сразу получаем ответ: 4

Добавлено через 53 секунды
Если мы не напишем return - то функция выполнится и всё, не будет в себе хранить цифры 4, а просто сделает своё дело, сложит 2+2 и всё.
0
Эксперт Python
 Аватар для dondublon
4648 / 2068 / 366
Регистрация: 17.03.2012
Сообщений: 10,168
Записей в блоге: 6
22.11.2019, 10:11
ndyakov, тому, кто функцию вызывает.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
22.11.2019, 17:47
Damenikx, ну... как бы... не так же.

Когда вызывается функция, создаётся новый контекст (в частности, создаются новые локальные переменные) и увеличивается глубина стека (его можно увидеть, когда вылетает исключение и стек раскручивается обратно).

Оператор return используется, чтобы прервать выполнение функции и вернуться в ту часть кода, откуда была вызвана функция. Операторов return внутри функции может быть несколько.

Так же return позволяет вернуть значение из функции. При выходе из функции все локальные переменные уничтожаются (на которых больше нет ссылок) и восстанавливается контекст.

Цитата Сообщение от Damenikx Посмотреть сообщение
Если мы не напишем return - то функция выполнится и всё, не будет в себе хранить цифры 4,
Как бы сказать... функция ничего не хранит. Во время выполнения функции создаются локальные переменные, которые можно вернуть через return.

Добавлено через 3 минуты
Python
1
2
3
4
5
def hello():
    x = 2 + 2
    return x
 
print(hello())
Взять этот пример. Интерпретатор пройдёт все строки, увидит вызов функции в 5 строке, о ней он уже знает и управление перейдёт на 1 строку. Выполнятся инструкции во 2 строке и в 3 функция завершит работу - управление вернётся в 5 строку и строка будет продолжаться выполняться - дальше вызовется функция print
2
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
23.11.2019, 11:16
Пару формальных уточнений.
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Оператор return используется, чтобы прервать выполнение функции и вернуться в ту часть кода, откуда была вызвана функция.
Если return один, то он не влияет когда и куда вернется программа если return вообще не будет. Уберите из данного примера return и выполните код в пошаговом режиме, и увидите , что и без return программа после выполнения функции перейдет на туже строку, что и с return (на строку вызова функции). Но вот передачи значения без return не будет и на печать ничего не будет выведено.
И еще
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Во время выполнения функции создаются локальные переменные, которые можно вернуть через return
Функция не возвращает переменные. На самом деле в питоне переменные хранят в себе ссылки на объекты, которые мы называем значениями переменных. return возвращает не переменную, а объект, на который указывает ссылка хранящаяся в локальной переменной. Этот объект не имеет имени, а только адрес в оперативной памяти компьютера. Если мы хотим в дальнейшем обращаться к этому объекту, то нужно какой либо переменной присвоить ссылку на этот объект. Если же Вам нужно только использовать этот объект одно разово в месте вызова функции, как в этом примере, что бы его распечатать, то присваивать переменной ссылку на него не обязательно.

Добавлено через 8 минут
Я бы сказал так, return возвращает данные из функции (полученные внутри функции) туда, от куда эта функция была вызвана.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
23.11.2019, 11:30
Цитата Сообщение от Viktorrus Посмотреть сообщение
Если return один, то он не влияет когда и куда вернется программа если return вообще не будет.
Это если return написан в конце функции. А может быть недостижимый код, который никогда не выполнится:
Python
1
2
3
4
def hello():
    x = 2 + 2
    return x
    x = 42
А так согласен, после завершения функции управление перейдёт обратно к месту вызовы функции.

И про ссылку на данные согласен, неточно выразился.
0
23.11.2019, 16:42

Не по теме:

Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Это если return написан в конце функции. А может быть недостижимый код, который никогда не выполнится:
Python
Выделить код
1
2
3
4
def hello():
x = 2 + 2
return x
x = 42
в яве такой код не скомпилируется :)

0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
23.11.2019, 16:54
Arsegg, странно... И с каких это пор недостижимый код стал ошибкой в яве?

Code
1
Main.java:5: error: unreachable statement
Добавлено через 1 минуту
Кажется, шестая ещё компилировала…
0
23.11.2019, 17:02

Не по теме:

Рыжий Лис, вроде как в спецификациях Java 8 есть, насчет ранних версий - не в курсе.

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
23.11.2019, 19:36
Цитата Сообщение от Arsegg Посмотреть сообщение
в яве такой код не скомпилируется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2019, 19:36
Помогаю со студенческими работами здесь

Зачем нужен print данном коде?
Создал веб-сервер from http.server import HTTPServer, CGIHTTPRequestHandler server_address = ("", 8000) httpd =...

Зачем нужен collectstatic
Доброго дня! Подскажите, пожалуйста, зачем нужен collectstatic? Ситуация такая: делал делал себе сайт на локалке STATIC_URL = '/static/' в...

Зачем нужен связный список?
Добрый день, зачем нужен связный список? Просьба, если можно, простое объяснение желательно с примером из жизни :) Еще несколько...

Зачем нужен return?
Я читал,что return возвращает значение функции. Какое значение? Почему иногда return 0, а иногда return 1? Бывают случаи,когда у return...

Зачем нужен "return false" в конце "onclick" скрипта
Привет, возможно глупый вопрос, но я не понимаю, зачем после скрипта нужен "return false": <form onsubmit =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru