可变参数: def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum 定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数: >>> calc(1, 2) 5 >>> calc() 0 Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去: >>> nums = [1, 2, 3] >>> calc(*nums) 14 *nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见