There is a special way of receiving parameters to a function as a tuple or a dictionary
using the *
or **
prefix respectively. This is
useful when taking variable number of arguments in the function.
>>> 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
Due to the *
prefix on the args
variable, all
extra arguments passed to the function are stored in args
as a tuple.
If a **
prefix had been used instead, the extra parameters would be
considered to be key/value pairs of a dictionary.