Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Hint: You can adjust the default video playback speed in your account settings.
Hint: You can set your subtitle preferences in your account settings.
Sorry! Looks like there’s an issue with video playback 🙁 This might be due to a temporary outage or because of a configuration issue with your browser. Please refer to our video player troubleshooting guide for assistance.

Avoiding Error Messages

00:00 Error Messages Related to Input Arguments. One of the most common error messages you’ll encounter is when you call a function that has required arguments, but you don’t pass the arguments in the function call. Here you call add_item() without passing the required arguments item_name and quantity. You’ll get a TypeError whenever a required argument is missing.

00:27 The error message is a helpful one in this case. Error messages are not always as helpful as this one. However, missing required parameters are not the only error message you’ll encounter as you learn to define functions with required and optional parameters.

00:45 When none of the parameters in a function definition has default values, you can order the parameters in any way you wish. The same applies when all the parameters have default values. However, when you have some parameters with default values and others without, the order in which you define the parameters is important.

01:04 You can try to swap the order of parameters with and without default values in the definition of add_item().

01:19 Depending on the editor that you use, it may highlight this issue without you even needing to run the code. You may have noticed that the editor on-screen has highlighted that there’s an error present. It’s still possible to run the script, however, and the error message that you get when you run this code explains the rule fairly clearly.

01:41 The parameters with no default value must always come before those that have a default value. In the example you’ve just seen, item_name and quantity must always be assigned a value as an argument.

01:52 Placing parameters with default values first would make the function call ambiguous. The first two required arguments can then be followed by an optional third argument. In the next section of the course, you’ll see how to create functions that can accept any number of arguments.

Become a Member to join the conversation.