写了几个月的oython了总感觉除了if else for while什么都不太会,看了架构师的代码参数传递总是使用*args,**kwargs,一直搞不太明白,只是模仿着用,最近有时间想系统的学习一遍python,看了廖学峰老师的python学习网站,在函数参数那一章找到了答案,里面解释的很详细,参考link http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014317529
可变参数 *args 允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple, 而 关键字参数 **kw 允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict. 可变参数*args def calc(*numbers): sum = 0 for n in numbers: sum = sum + n*n return sum calc(1, 2) calc() 另一种用法: numbers = [1, 2, 3] calc(numbers[0