我正在通过艰难的方式学习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语句:
- 我们的函数用两个参数调用:a和b.
- 我们打印出我们的功能正在做什么,在这种情况下是"添加".
- 然后我们告诉Python做一些向后的事情:我们返回一个+ b的加法.你可能会这样说,"我添加a和b然后返回它们."
- Python添加了两个数字.然后当函数结束时,任何运行它的行都能够将此a + b结果赋给变量.
在第三,当他说"做一些向后的事情"并且它返回"a和b"(当他说'他们')时,似乎他正在返回表达式,或者只是两个变量,而不是数值解两个.我不确定它在说什么.
书中给出的第三步是不准确的(下面修改的单词用斜体字表示):
- 然后我们告诉Python做一些向后的事情:我们返回一个+ b 的加法.你可能会这样说,"我添加a和b然后返回它们."
这样写得更好:
- 然后我们告诉Python做一些向后的事情:我们返回添加 + b 的结果.您可能会这样说,"我添加a和b然后返回结果."