Python 函数、文件与模块
2007-03-30 12:32:37 来源:WEB开发网核心提示: 函数:返回数据使用方法时,人们最希望获得的结果并非总是乘法表,Python 函数、文件与模块(5),您可能希望完成一次计算,并将计算结果值返回给调用代码,更高级的处理方法应包含恰当的错误检查和处理,以应对这些情况,有时要实现这两个目的,需要分别调用不返回任何数据的调用方法(子例程)和返回值
函数:返回数据
使用方法时,人们最希望获得的结果并非总是乘法表。您可能希望完成一次计算,并将计算结果值返回给调用代码。有时要实现这两个目的,需要分别调用不返回任何数据的调用方法(子例程)和返回值的方法(函数)。但在 Python 中,您无需担心这些语义问题,因为通过使用 return 语句,几乎可以相同的方式实现这两个目的(参见清单 4)。
清单 4. 在函数中返回一个值
>>> def stats(data):
... sum = 0.0
... for value in data:
... sum += value
... return (sum/len(data))
...
>>> stats([1, 2, 3, 4, 5]) # Find the mean value from a list
3.0
>>> stats((1, 2, 3, 4, 5)) # Find the mean value from a tuple
3.0
>>> stats()
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: stats() takes exactly 1 argument (0 given)
>>> stats("12345")
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "<stdin>", line 4, in stats
TypeError: unsupported operand type(s) for +=: 'float' and 'str'
这个简单的函数遍历 data(假设 data 为一个容纳有数字数据的 Python 容器),计算一组数据的平均值,然后返回值。函数定义接受一个输入参数。平均值通过 return 语句传回。当您调用带有包含数字 1 到 5 的 list 或 tuple 的函数时,返回值会显示在屏幕上。如果调用不带任何参数的函数、带非容器数据类型的函数或带内含非数字数据的容器的函数,就会导致出错。(在此类情况下抛出错误是很有意义的。更高级的处理方法应包含恰当的错误检查和处理,以应对这些情况,但这不在本文讨论范围内。)
更多精彩
赞助商链接