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

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

 2008-09-30 12:59:07 来源:WEB开发网   
核心提示: 两个乘法表函数的定义非常相近,但清单 3 中的函数有用得多(通过清单 3 中的 3 次调用即可看出这一点),探索 Python,第 9 部分: 化零为整(4),为函数添加此附加功能的方法非常简单:提供名为 nrows 和 ncols 的两个输入参数,允许在调用函数时更改乘法表的大小,您无需

两个乘法表函数的定义非常相近,但清单 3 中的函数有用得多(通过清单 3 中的 3 次调用即可看出这一点)。为函数添加此附加功能的方法非常简单:提供名为 nrows 和 ncols 的两个输入参数,允许在调用函数时更改乘法表的大小。这两个参数随后会被提供给生成乘法表的两个 for 循环。

关于 timesTable2 函数的另一要点就是两个输入参数有默认值。在函数签名中为参数提供默认值,方法是在参数名后添加等号和值,例如 nrows=5。默认参数使程序获得了更高的灵活性,因为在您调用函数时,可以包含两个输入参数,也可以仅包含一个输入参数,甚至可以一个参数都不包含。但这种方法可能会导致某些问题。如果您在函数调用期间未指定全部参数,则必须显式地写出您所指定的参数的名称,以使 Python 解释器能够正确地调用函数。最后一个函数调用正体现了这一点,它显式地调用了带有 ncols=3 的 timesTable2 函数,函数创建了一个 5 行(默认值)3 列(所提供的值)的乘法表。

函数:返回数据

使用方法时,人们最希望获得的结果并非总是乘法表。您可能希望完成一次计算,并将计算结果值返回给调用代码。有时要实现这两个目的,需要分别调用不返回任何数据的调用方法(子例程)和返回值的方法(函数)。但在 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'

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

Tags:探索 Python 部分

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