<< Chapter < Page | Chapter >> Page > |
Figure 4 shows the output produced by the code in Listing 3 .
Figure 4 . Output produced by the code in Listing 3. |
---|
aList = ['ab', 'cd', 'ef']
bList = ['The', 'old', 'list']cList = ['This old house']
dList = ['is falling down']Call listModifier
In listModifierlistA = ['ab', 'cd', 'ef', 1.00001]
listB = ['The', 'old', 'list', 2.00002]listC = ['C', 3.00003]
listD = ['D', 4.00004]Back from listModifier
aList = ['ab', 'cd', 'ef', 1.00001]bList = ['The', 'old', 'list', 2.00002]
cList = ['This old house']dList = ['is falling down'] |
The first thing that you should pay attention to is the syntax for defining default arguments in the function named listModifier . (You will see later that this same syntax is used for defining keyword arguments .)
The second thing you should pay attention to is the syntax used to call the function named listModifier about six lines up from the bottom of Listing 3 . The function call passes only two parameters to the function: aList and bList .
The function treats the first parameter as satisfying the required argument named listA . The function treats the second parameter as satisfying the default argument named ListB , replacing the default value with the parameter that is actually received. Not receiving any more incoming parameters,the function processes the default values for listC and listD .
Hopefully this explanation along with the code in Listing 3 and the output in Figure 4 will tell you what you need to know about using default function arguments.
When a function having required arguments is called, the calling program must pass a parameter for each required argument and must pass those parameters inthe correct left-to-right order relative to the argument list.
When a function having default arguments is called, the calling program can omit passing parameters to the arguments on the right end of the argument list.However, the parameters that are passed to default arguments must be passed in the correct left-to-right order relative to the argument list.
You are probably seeing the trend here. When a function having keyword arguments is called, the calling program can pass parameters for all, some, ornone of the keyword arguments. Furthermore, the parameters that are passed to keyword arguments can be passed in any order. Positional matching is no longerrequired.
A function can define required arguments, default arguments, keyword arguments, and variable-length arguments (to be discussed later) in a variety of combinations. In this module, I will combine required arguments witheach of the other types but won't provide examples of combining all four types in the same function.
A function can define one or more keyword arguments in addition to required arguments as shown in Listing 4 . Default values are defined for the keyword arguments when the function is defined using the syntax shown in Listing 4 . (I told you earlier that the syntax for defining default arguments is the same as the syntax for defining keyword arguments.)
Notification Switch
Would you like to follow the 'Itse 1359 introduction to scripting languages: python' conversation and receive update notifications?