Если нужно просто вывести на экран результат - разницы нет, в данном примере. Если нужно в дальнейшем использовать значение, возвращенное функцией, то, конечно, нужен
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'{greeting}, 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)
получите None в ответе.