Самое лучшее в функции 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 + b
(в add
). Это делает следующее:
- Наша функция вызывается с двумя аргументами:
a
и b
.
- Мы распечатываем, что делает наша функция, в данном случае «ДОБАВЛЕНИЕ».
- Затем мы говорим Python сделать что-то обратное: мы возвращаем добавление
a + b
. Вы можете сказать это как «Я добавляю a
и b
, а затем возвращаю их».
- Python добавляет два числа. Затем, когда функция завершится, любая строка, которая запустится, сможет присвоить этот
a + b
результат переменной.