"回归"声明的描述是什么?

xyz*_*xyz 0 python return

我正在通过艰难的方式学习Python,并在练习21中使用return语句.在浏览代码时,我理解return语句正在做什么,但我完全没有得到Zed Shaw的描述.我想确保我没有错过任何东西.练习有这个代码

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?"
Run Code Online (Sandbox Code Playgroud)

Shaw描述了这样的return语句:

  1. 我们的函数用两个参数调用:a和b.
  2. 我们打印出我们的功能正在做什么,在这种情况下是"添加".
  3. 然后我们告诉Python做一些向后的事情:我们返回一个+ b的加法.你可能会这样说,"我添加a和b然后返回它们."
  4. Python添加了两个数字.然后当函数结束时,任何运行它的行都能够将此a + b结果赋给变量.

在第三,当他说"做一些向后的事情"并且它返回"a和b"(当他说'他们')时,似乎他正在返回表达式,或者只是两个变量,而不是数值解两个.我不确定它在说什么.

Cha*_*ffy 6

书中给出的第三步是不准确的(下面修改的单词用斜体字表示):

  1. 然后我们告诉Python做一些向后的事情:我们返回一个+ b 的加法.你可能会这样说,"我添加a和b然后返回它们."

这样写得更好:

  1. 然后我们告诉Python做一些向后的事情:我们返回添加 + b 的结果.您可能会这样说,"我添加a和b然后返回结果."