>>>def powersum(power, *args): ... '''Return the sum of each argument raised to specified power.'''... total = 0 ... for i in args: ... total += pow(i, power) ... return total ... >>> powersum(2, 3, 4) 25>>> powersum(2, 10) 100
上面就是第十五章第4页的一个例子,我是Python菜鸟,所以看了好一会儿才明白这个例子。就是那个for语句块总是让人难解。pow是数学幂函数,这毫无疑问,主要的是参数args是两个一个3,一个4,这样如何理解total+=pow(i,power)这个语句呢?若理解成累加,将3先看成args然后算出total值;然后将4同样算。很显然,算出来的结果是(1^2+2^2+3^2)+(1^2+2^2+3^2+4^2)远远大于了25,不对。10也不能这样算。后来不知灵感何来,知道将3,4代入args,也就是将args看成(3,4),这样一来就很好理解了。for条件语句就变为了for i in (3,4),这样就很好算了。