Functions Advanced

Arbitrary Arguments

Via arbitrary arguments a function can receive a dynamic count of arguments.

They're specified by adding a * prefix.

Let's look at the following example:

Output:

Multiple arguments are passed to printData but all of them are accessed only by the single *numbers argument.

At line 2 the len function is used to get the count of the passed arguments.

At lines 4 and 5 the passed arguments are accessed via indexes starting from 0.

Keyword Arguments

For such arguments the order doesn't matter and they can be set via "key = value" syntax.

Let's look at the following example:

Output:

The order of the passed arguments is not the same as the arguments order of the function definition.

age = 20 sets value of 20 to the age argument.

Arbitrary Keyword Arguments

Suitable if the count of keyword arguments is unknown.

They're specified by adding a ** prefix.

Example:

Output:

The values for the passed arguments is stored inside data.

data["make"] accesses the passed value for make which is "Toyota".