Чем return отличается от print
Перейти к содержимому

Чем return отличается от print

  • автор:

Зачем нужен return, когда есть print?

Разница только в том, что мы в первом случае пишем: print при вызове функции, а в самой функции нет. А во втором пишем: print в функции, но при вызове нет. Только в этом разница или есть ещё какая-то?

  • Вопрос задан более двух лет назад
  • 331 просмотр

Комментировать
Решения вопроса 1

SoreMix

soremix @SoreMix Куратор тега Python

Если нужно просто вывести на экран результат — разницы нет, в данном примере. Если нужно в дальнейшем использовать значение, возвращенное функцией, то, конечно, нужен return . Допустим, как тут, если нужно сравнить два числа, и вернуть из них большее, чтобы затем работать с ним дальше, можем сделать так:

def func(x, y): if x > y: return x elif x == y: return 'Числа равны.' else: return y max_num = func(3,4)

И в результате в переменной max_num будет наше наибольшее число (ну, либо текст). В данном примере несовсем понятно, конечно.

Ну вот допустим у нас есть встроенная функция max , которая возвращает максимальное значение из переданных параметров, нечто похожее на то, что сделали вы. Для более наглядного примера я бы рассмотрел random.choice()

Предположим, у нас есть список элементов и нам надо из него выбрать случайный элемент и работать с ним дальше. Мы вызываем random.choice() , который через return вернет нам этот случайный элемент и мы будем с ним работать дальше. Например, использовать его как часть текста.

greetings = ['Привет', 'Hello', 'Здравствуйте'] greeting = random.choice(greetings) print(f', master')

В итоге при каждом запуске кода мы будем получать случайный элемент списка в переменную, и все это благодаря наличию return в методе choice. Если бы там было не возвращение элемента через return, а просто print. то тогда наш случайный элемент печатался в консоль и на этом все. Ну, надеюсь понятно.

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

Если надо будет найти максимальный элемент и использовать его в дальнейшей работе, то с таким кодом —

def func(x, y): if x > y: print(x) elif x == y: print('Числа равны.') else: print(y) max_num = func(3,4) print('Максимальное число -', max_num)

чем отличается return от print() в python [закрыт]

Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 4 года назад .
Объясните пожалуйста чем отличается return от print() в python
Отслеживать
задан 9 янв 2020 в 14:24
1 1 1 бронзовый знак

return Это возврат значения из фукнции, print Это вывод на экран. Они отличаются примерно как картошка и кастрюля.

9 янв 2020 в 14:26

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Возвращает значение из функции.Пример:

def f(): return 10 print(f()-1) 

Выводит на экран:

def f(): print("hi") f() 
def f(): return "hi" f() 
def f(): return "hi" print(f()) 

Отслеживать
ответ дан 9 янв 2020 в 14:32
USERNAME GOES HERE USERNAME GOES HERE
10.4k 21 21 золотой знак 25 25 серебряных знаков 53 53 бронзовых знака

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

def foo(x): return x**2 print(x + 1) # эта строка кода "не достижима", питон ее даже читать не будет def bar(x): print(x**2) # тут можно еще сколько угодно принтов и прочего кода написать print(foo(3) * 2) # 18 print(bar(3) * 2) # ошибка 

Отслеживать
ответ дан 9 янв 2020 в 15:06
1,606 1 1 золотой знак 5 5 серебряных знаков 15 15 бронзовых знаков

    Важное на Мете
Похожие

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.3.1.5619

Разница между print и return в Python.

Язык программирования Python

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

В этой небольшой статье мы собираемся прояснить эти два понятия и привести примеры, чтобы развеять возникшие вопросы.

print() – это одна из встроенных функций языка.

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

Return, с другой стороны, является зарезервированным словом, за которым по желанию может следовать выражение или переменная.

Но по сути, они служат совершенно разным целям. print() используется для вывода сообщения на экран консольного приложения, а return – для задания результата (или возвращаемого значения) функции.

Таким образом, return является гораздо более общей операцией, чем print(), но он может использоваться только внутри функций: в коде не может быть return нигде, кроме как внутри функции.

print() может использоваться только в консольных приложениях, поскольку он используется только для вывода сообщения в консоль (терминал, командную строку, интерпретатор команд и т.д.).

Давайте рассмотрим несколько примеров.

# Печатает сообщение на экране. print("Привет, мир.")
Code language: PHP (php)
# Функция, вычисляющая максимум между двумя числами, переданными в качестве аргументов. def num_max(a, b): if a > b: max = a else: max = b return max
Code language: PHP (php)

Давайте рассмотрим последний пример, чтобы ответить на вопрос: почему в конце функции используется return max, а не print(max)?

Чтобы ответить на этот вопрос, давайте создадим аналогичную функцию, но с небольшим изненением :

def num_max_print(a, b): if a > b: max = a else: max = b print(max) # Заменим return на print().
Code language: PHP (php)

Теперь у нас есть две функции: num_max(), которая возвращает или имеет в качестве результата максимальное из двух чисел, указанных нами в качестве аргументов, и num_max_print(), которая не имеет результата (поскольку внутри функции нет возврата), а вместо этого печатает максимальное число на экране.

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

Когда определенные части кода очень часто встречаются в программе Python, удобно абстрагировать их в функции.

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

Давайте рассмотрим, как используются эти две функции, если бы мы хотели вычислить наибольшее число между 7 и 5 и вывести результат на экран.

Используя функцию num_max(), которая ─ помните ─ выводит максимальное число, мы сделаем следующее:

max = num_max(7, 5) print(max) # Печатает 7.
Code language: PHP (php)

Или в упрощенном виде:

print(num_max(7, 5)) # Печатает 7.
Code language: PHP (php)

При использовании функции num_max_print() это будет просто:

num_max_print(7, 5) # Печатает 7.
Code language: PHP (php)

Пока что разница невелика.

Проблема с numero_maximo_print() заключается в том, что она служит только для отображения максимального числа на экране.

Если я всегда вычисляю максимум между двумя числами, что произойдет, если мы захотим узнать максимальное число, чтобы добавить его к другому числу?

Используя первую функцию, мы можем написать:

sum = num_max(7, 5) + 10 # Сохраняет 17 в переменной sum.
Code language: PHP (php)

Напомним, что результат функции “заменяется” в том месте, где появляется ее вызов.

Так, в приведенном выше коде, num_max(7, 5) заменяется на возвращаемое значение (7), а затем результат операции 7 + 10 сохраняется в sum.

Но с num_max_print() мы не можем сделать то же самое, потому что эта функция не имеет результата:

sum = num_max_print(7, 5) + 10

Этот код выдает ошибку, потому что num_max_print(7, 5) заменяется на None (поскольку не имеет результата), а сумма между числом (10) и None недопустима.

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

В то время как num_max() позволяет мне вычислить максимум между двумя числами и затем решить, что делать с этим результатом, num_max_print() служит только для вывода максимума на экран.

С помощью первой функции я могу, чтобы привести еще несколько примеров, сохранить результат в файл:

f = open("max.txt", "w") f.write(str(num_max(7, 5))) f.close()
Code language: JavaScript (javascript)

Или использовать ее в условном выражении:

if num_max(7, 5) % 2 == 0: print("Максимальное число - четное.") else: print("Максимальное число - нечетное.")
Code language: PHP (php)

Или сохранить его в переменной и использовать для разных целей:

max = num_max(7, 5) print("Максимальное число:", max) sum = max + 10 f = open("max_mas_10.txt", "w") f.write(str(sum)) f.close()
Code language: PHP (php)

Или все остальное, что мы можем сделать с числом. Все это невозможно при использовании функции num_max_print().

Есть определенные случаи, когда print() может быть уместен в функции.

Но, как правило, в функции мы хотим получить результат, а не напечатать его, и это делается через return.

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

Если функция имеет результат (return), мы всегда можем вывести его после вызова:

print(funcion())
Code language: PHP (php)

Python, в чём разница между print и return return? на многих сайтах смотрел, не могу понять может вы сможете

Оператор print выводит на экран то что вы просите у него вывести. Return возвращает какие либо данные. Например в функциях мы используем return для возврата значения и дальнейшей работы с ним.

ReySadМыслитель (7058) 6 лет назад
Агентство Wezom Знаток (469) А что у вас выводит? Вы прибавляете 2 строковых значения?
Остальные ответы
для начала приведи пример кода с return return, а то що-то я в непонятках
ReySadМыслитель (7058) 6 лет назад

Функция в python — объект, принимающий аргументы и возвращающий значение. Обычно функция определяется с помощью инструкции def.

Определим простейшую функцию:

def add(x, y):
return x + y
Инструкция return говорит, что нужно вернуть значение. В нашем случае функция возвращает сумму x и y.

Теперь мы ее можем вызвать:

зачем return если можно print место него поставить?

user51942 Оракул (50652) ну так это же не return return, а просто return, чего людей-то путать? return возвращает значение функции, которое в данном случае ничему не присваивается и не используется и тупо уходит вникуда вывод возвращаемого значения — фишка чисто однострочного интерпретатора, языком это вроде как не предусмотрено, и return вообще не для этого нужен а print — это уже чисто для вывода данных в консоль (или в файл, но это другая история)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *