WEB开发网
开发学院软件开发Python 探索 Python,第 9 部分: 化零为整 阅读

探索 Python,第 9 部分: 化零为整

 2008-09-30 12:59:07 来源:WEB开发网   
核心提示: 这个简单的函数遍历 data(假设 data 为一个容纳有数字数据的 Python 容器),计算一组数据的平均值,探索 Python,第 9 部分: 化零为整(5),然后返回值,函数定义接受一个输入参数,正如 stats 函数的两次调用所示,tuple 值可作为一个 tuple 存取,平均

这个简单的函数遍历 data(假设 data 为一个容纳有数字数据的 Python 容器),计算一组数据的平均值,然后返回值。函数定义接受一个输入参数。平均值通过 return 语句传回。当您调用带有包含数字 1 到 5 的 list 或 tuple 的函数时,返回值会显示在屏幕上。如果调用不带任何参数的函数、带非容器数据类型的函数或带内含非数字数据的容器的函数,就会导致出错。(在此类情况下抛出错误是很有意义的。更高级的处理方法应包含恰当的错误检查和处理,以应对这些情况,但这不在本文讨论范围内。)

此示例已经非常有用,但还可使它更强大,如清单 5 所示。在 Python 中,函数可返回任何有效的对象类型,包括容器类型在内。因此,您可以计算多个数量,并轻松地将多个结果返回给调用语句。

清单 5. 返回复合值

>>> def stats(data):
...   sum = 0.0
...   for value in data:
...     sum += value
...   mean = sum/len(data)
...   sum = 0.0
...   for value in data:
...     sum += (value - mean)**2
...   variance = sum/(len(data) - 1)
...   return (mean, variance)
...
>>> stats([1, 2, 3, 4, 5])
(3.0, 2.5)
>>> (m, v) = stats([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> print m, v
5.0 7.5

为了从一个函数中返回多个值,要将其括在一个括号中并以逗号分隔 —— 换句话说,创建并返回一个 tuple。新 stats 函数的函数体要略加修改,以计算数字序列的样本方差。最后,正如 stats 函数的两次调用所示,tuple 值可作为一个 tuple 存取,也可将其解包为各自的分量。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:探索 Python 部分

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接