Variable number of arguments

Lists and dictionaries may be used to define or call functions with a variable number of arguments. Let's define a list and a dictionary as follows:

data = [[1,2],[3,4]]    
style = dict({'linewidth':3,'marker':'o','color':'green'})

Then we can call the plot function using starred (*) arguments:

plot(*data,**style)

A variable name prefixed by * , such as *data in the preceding example, means that a list that gets unpacked in the function call is provided. In this way, a list generates positional arguments. Similarly, a variable name prefixed by **, such as **style in the example, unpacks a dictionary to keyword arguments. Refer to the following figure (Figure 7.1):

Variable number of arguments

Figure 7.1: Starred arguments in function calls

You might also want to use the reverse process, where all given positional arguments are packed into a list and all keyword arguments are packed into a dictionary when passed to a function.

In the function definition, this is indicated by parameters prefixed by *  and **, respectively. You will often find the *args and **kwargs parameters in code documentation, refer Figure 7.2.

Variable number of arguments

Figure 7.2: Starred arguments in function definitions

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.119.163.238