Какова цель заявления возврата? - PullRequest
71 голосов
/ 20 августа 2011

Каково простое базовое объяснение того, что такое оператор return, как его использовать в Python?

И в чем разница между ним и оператором print?

Ответы [ 12 ]

1 голос
/ 21 мая 2017

Самое лучшее в функции return - вы можете вернуть значение из функции, но вы можете сделать то же самое с print, так в чем же разница? По сути, return не просто возвращает его, дает вывод в виде объекта, так что мы можем сохранить это возвращаемое значение из функции в любую переменную, но мы не можем сделать с print, потому что это то же самое, что и stdout/cout в C Programming.

Следуйте приведенному ниже коду для лучшего понимания

CODE

def add(a, b):
    print "ADDING %d + %d" % (a, b)
    return a + b

def subtract(a, b):
    print "SUBTRACTING %d - %d" % (a, b)
    return a - b

def multiply(a, b):
    print "MULTIPLYING %d * %d" % (a, b)
    return a * b

def divide(a, b):
    print "DIVIDING %d / %d" % (a, b)
    return a / b


print "Let's do some math with just functions!"

age = add(30, 5)
height = subtract(78, 4)
weight = multiply(90, 2)
iq = divide(100, 2)

print "Age: %d, Height: %d, Weight: %d, IQ: %d" % (age, height, weight, iq)


# A puzzle for the extra credit, type it in anyway.
print "Here is a puzzle."

what = add(age, subtract(height, multiply(weight, divide(iq, 2))))

print "That becomes: ", what, "Can you do it by hand?"

Сейчас мы делаем собственные математические функции для add, subtract, multiply, и divide. Важно отметить последнюю строку, в которой мы говорим return a + badd). Это делает следующее:

  1. Наша функция вызывается с двумя аргументами: a и b.
  2. Мы распечатываем, что делает наша функция, в данном случае «ДОБАВЛЕНИЕ».
  3. Затем мы говорим Python сделать что-то обратное: мы возвращаем добавление a + b. Вы можете сказать это как «Я добавляю a и b, а затем возвращаю их».
  4. Python добавляет два числа. Затем, когда функция завершится, любая строка, которая запустится, сможет присвоить этот a + b результат переменной.
1 голос
/ 18 марта 2016

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

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

Следующий код показывает, как правильно использовать return и print:

def fact(x):
    if x < 2:
        return 1
    return x * fact(x - 1)

print(fact(5))

Это объяснение верно для всех языков программирования, а не только python .

...