Assigning Default Values
Default Values Assigned to Input Parameters. You can modify the function
add_item() so that the parameter
quantity has a default value.
In the function signature, you’ve added the default value
1 to the parameter
quantity, but this doesn’t mean that the value of
quantity will always be
If you pass an argument corresponding to
quantity when you call the function, then that argument will be used as the value for the parameter. However, if you don’t pass any argument, then the default value will be used.
1 in this case. Parameters with default values can’t be followed by regular parameters. You’ll see more about the order in which you can define parameters later on in this course. The function
add_item() now has one required parameter and one optional parameter.
In the code example just seen, you call
add_item() twice. Your first function call has a single argument, which corresponds to the required parameter
item_name. In this case,
quantity defaults to
1. Your second function call has two arguments, so the default value isn’t used in this case.
01:41 You can see the output on-screen.
01:47 You can also pass required and optional arguments into a function as keyword arguments. Keyword arguments can also be referred to as named arguments. You can now revisit the first function you defined in this course and refactor it so that it also accepts a default argument.
Now when you use
show_list(), you can call it with no input arguments or pass a Boolean value as a flag argument. If you don’t pass any arguments when calling the function, then the shopping list is displayed by showing each item’s name and quantity.
The function will display the same output if you pass
True as an argument when calling it. However, if you use
show_list(False), only the item names are displayed.
03:04 You should avoid using flags in cases where the value of the flag alters the function’s behavior significantly. A function should only be responsible for one thing. If you want to flag to push the function into an alternative path, you may consider writing a separate function instead.
03:22 In the next section of the course, you’ll look at common values which are used as defaults.
Become a Member to join the conversation.