关于Python在函数中接收元组和列表的理解,有需要的朋友可以参考下。

《简明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


Tangl
23 声望1 粉丝