Python 函数、文件与模块
2007-03-30 12:32:37 来源:WEB开发网核心提示: 清单 3. 更好的乘法表函数>>> def timesTable2(nrows=5, ncols=5):... for row in range(1, nrows + 1):... for cols in range(1, ncols + 1):... print &qu
清单 3. 更好的乘法表函数
>>> def timesTable2(nrows=5, ncols=5):
... for row in range(1, nrows + 1):
... for cols in range(1, ncols + 1):
... print "%3d " % (row * cols),
... print
...
>>> timesTable2(4, 6)
1 2 3 4 5 6
2 4 6 8 10 12
3 6 9 12 15 18
4 8 12 16 20 24
>>> timesTable2()
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
>>> timesTable2(ncols=3)
1 2 3
2 4 6
3 6 9
4 8 12
5 10 15
两个乘法表函数的定义非常相近,但清单 3 中的函数有用得多(通过清单 3 中的 3 次调用即可看出这一点)。为函数添加此附加功能的方法非常简单:提供名为 nrows 和 ncols 的两个输入参数,允许在调用函数时更改乘法表的大小。这两个参数随后会被提供给生成乘法表的两个 for 循环。
关于 timesTable2 函数的另一要点就是两个输入参数有默认值。在函数签名中为参数提供默认值,方法是在参数名后添加等号和值,例如 nrows=5。默认参数使程序获得了更高的灵活性,因为在您调用函数时,可以包含两个输入参数,也可以仅包含一个输入参数,甚至可以一个参数都不包含。但这种方法可能会导致某些问题。如果您在函数调用期间未指定全部参数,则必须显式地写出您所指定的参数的名称,以使 Python 解释器能够正确地调用函数。最后一个函数调用正体现了这一点,它显式地调用了带有 ncols=3 的 timesTable2 函数,函数创建了一个 5 行(默认值)3 列(所提供的值)的乘法表。
更多精彩
赞助商链接