Python的函数定义非常灵活。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。
位置参数
例如编写计算平方的函数:
def power(x): return x * x
对于power(x)
函数,参数x
就是一个位置参数。
当我们调用power
函数时,必须传入有且仅有的一个参数x
:
>>> power(5)25
现在,如果我们要计算x的三次方怎么办?
你也许想到了,可以把power(x)
修改为power(x, n)
,用来计算xn,说干就干:
def power(x, n): s = 1 while n > 0: n = n - 1 s = s * x return s