← Все вопросы

Функция возвращает None, хотя я её распечатываю внутри — почему?

Задан 24 месяца назад790 просмотров1 ответ
7

Делаю функцию для суммы, но когда сохраняю результат — там None:

def add(a, b):
    print(a + b)

result = add(2, 3)
print("Результат:", result)  # Результат: None

Сумма же выводится, почему result равен None?

1 ответ

13
✓ Принятый ответ — помог автору

print внутри функции просто выводит число на экран, но не отдаёт его наружу. Если в функции нет return, она возвращает None — это и попало в result.

Замени print на return:

def add(a, b):
    return a + b

result = add(2, 3)
print("Результат:", result)  # Результат: 5

Запомни разницу: print — "показать человеку", return — "отдать значение программе".

Ваш ответ

Войдите, чтобы ответить на вопрос.