Default parameters
- Python course
- Beginner
- Lesson 74/116
- 5 min
Learn parameters with default values.
Default parameters
A parameter can have a default value; if not passed at the call, the default is used:
def greet(name, greeting="Welcome"):
print(greeting, name)
greet("Alex") # Welcome Alex
greet("Alex", "Hello") # Hello AlexDefault parameters must be on the right; otherwise a SyntaxError is raised. This makes the call flexible.
Multiple defaults
Multiple parameters can have defaults:
def create_user(name, role="user", active=True):
return {"name": name, "role": role, "active": active}All right-hand parameters can have defaults. At the call you can skip any of them; they get their default value.
This simplifies the call in functions with many options.
Practice Write a function with a default parameter
Define a function called greet with name and greeting (default "Hello") parameters that does print(greeting, name). Call it with greet("Ayse").
Starter code
# Define the greet functionSample solution
def greet(name, greeting="Hello"):
print(greeting, name)
greet("Ayse")Expected output
Hello Ayse
Questions and answers
Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.
1 Match default parameter features
| Term | Meaning |
|---|---|
greeting="Welcome" |
Default value |
on the right |
Position |
greet("Alex") |
Call with default |
SyntaxError |
Error if on left |
2 Complete the default parameter
def greet(name, greeting=____):
print(greeting, name)
def greet(name, greeting="Welcome"):
print(greeting, name)
Explanation: greeting="Welcome" sets a default value.
3 Which statement is correct?
- Default parameters go on the left
- Default parameters are not allowed
- Default parameters slow the function
- Default parameters go on the right Correct answer
Explanation: Default parameters must go on the right; otherwise SyntaxError.