先贴代码:
#coding=utf-8
def add(a, b):
print "ADDING %d + %d" % (a, b)
return a + b
def subtract(a, b):
print "SUBTRACT %d - %d " % (a, b)
return a - b
def multiply(a, b):
print "multiply %d * %d" % (a, b)
return a * b
def divide(a, b):
print "divide %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)
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?"
我总结两点:
- 函数就如同一个模块,人只管提供参数就Ok,一头进一头出,把参数处理成自己想要的东西再return出来,而且还可以把这个结果赋给一个变量,如代码中的函数,函数中有print语句,所以当调用这个函数时就会有输出相关内容,但这个函数是有返回值的,就像add()返回的是‘和',当然在代码其它位置时用了这个值才有意义
- 倒数第二行的多层函数调用更有意思,看执行的结果就知道,是由内而外的