关于Python在函数中接收元组和列表的理解
2015-07-20 15:13
721 查看
《简明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
>>> 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
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法
- Python实现的基于ADB的Android远程工具