← All lessons

Lesson 21

Default & Keyword Arguments

A parameter can have a default value: def greet(name, greeting="Hello"). Callers may skip it.

Keyword arguments name the parameter at the call site, such as greet("Ada", greeting="Hi"). Order stops mattering and the call reads clearly.

Parameters with defaults must come after required ones. Avoid mutable defaults such as [] because they are shared between calls.

def greet(name, greeting="Hello"):
    return f"{greeting}, {name}!"

print(greet("Ada"))
print(greet("Ada", greeting="Hi"))

Check your understanding

What is power(3) if exponent defaults to 2?

CHALLENGE

Define power(base, exponent=2) returning base ** exponent. Print power(5), then power(2, exponent=5).

Practice →
Next: map, filter & lambda →