目前为止,函数只是为我们做一些工作。不过函数的一个突出作用是:它们还可以向你发回一些东西。
我们已经知道,可以向函数发送信息(参数),不过函数还可以向调用者发回信息。从函数返回的值称为结果(result)或返回值(return value)。
返回一个值
要让函数返回一个值,需要在函数中使用 Python 关键字 return
。下面给出一个例子:
def calculateTax(price, tax_rate): taxTotal = price + (price * tax_rate) return taxTotal
这会把值 taxTotal
发回到调用这个函数的程序部分。
不过发回这个值时,它会去哪里呢?返回值会回到调用这个函数的代码。看下面的例子:
totalPrice = calculateTax(7.99, 0.06)
calculateTax
函数会返回一个值:8.4694,这个值将赋给 totalPrice
。
使用表达式的任何地方都可以使用函数来返回值。可以把返回值赋给一个变量(就像前面一样),也可以在另一个表达式中使用,或者打印出来,例如:
>>>print calculateTax(7.99, 0.06)8.4694>>>total = calculateTax(7.99, 0.06) + calculateTax(6.59, 0.08)
对返回值也可以不做任何处理,就像这样:
>>>calculateTax(7.49, 0.07)
在上面这个例子中,函数会运行,计算出税后总价格,不过我们没有使用这个结果。
下面用一个有返回值的函数建立程序。在代码清单 13-4 中,calculateTax
函数返回了一个值。向这个函数提供税前价格和税率,它会返回税后价格。我们把这个值赋给一个变量。所以不像前面那样只是使用函数的名,这里还需要一个变量和一个等号(=),然后是函数名。变量会赋为 calculateTax
函数返回的结果。
代码清单 13-4 创建和使用有返回值的函数
试着键入代码清单 13-4 中的程序,保存并运行这个程序。注意这个代码中的税率固定为 0.06(等于 6 个百分点)。如果程序必须处理不同的税率,可以让用户输入价格的同时还要输入税率。