kevinweijc 2013-01-21
如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作 关键参数 ——我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。
这样做有两个优势: 一、由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。
例子:
#!/usr/bin/python # Filename: func_key.py def func(a, b=5, c=10): print 'a is', a, 'and b is', b, 'and c is', c func(3, 7) func(25, c=24) func(c=50, a=100)
输出:
名为func
的函数有一个没有默认值的参数,和两个有默认值的参数。
在第一次使用函数的时候, func(3, 7)
,参数a
得到值3
,参数b
得到值7
,而参数c
使用默认值10
。
在第二次使用函数func(25, c=24)
的时候,根据实参的位置变量a
得到值25
。根据命名,即关键参数,参数c
得到值24
。变量b
根据默认值,为5
。
在第三次使用func(c=50, a=100)
的时候,我们使用关键参数来完全指定参数值。注意,尽管函数定义中,a
在c
之前定义,我们仍然可以在a
之前指定参数c
的值。