《简明Python教程》第15章当中有这样一段代码:
>>> def powersum(power,*args):
'''Return the sum of each argument raised to specified prower.'''total = 0
for i in args:
total += pow(i,power)
return total
>>> powersum(2,3,4)
25
>>> powersum(2,10)
100
这个例子对于我来说并不是太好理解。但是经过一段时间的思考还是明白了
首先,使用help(pow)知道了pow函数其实就是乘方的意思pow(2,3)就是 2的3次方,也可以用2**3来表示
对于 >>> powersum(2,3,4)
运行是这样的:
total = 0
i = 3
power = 2
total = 0+2**3(即total = 9)
i = 4
total = 9+4*2
return total
所以得到的结果是25
由于在args变量前有*前缀,所有多余的函数参数都会作为一个元组存储在args中。
4是一个多余的代码,所以被储存在了args当中,做完3的运算以后才调用。
第二个例子是同样的道理,求得10的平方等于100