← Back to Blog

A value if you don't provide one

The problem...

You have a function with parameters. Most of the time you call it the same way — same values, same behavior. Only occasionally does something change.

You're passing the same argument every single call. It feels redundant.

The idea!

Default parameters let you define a fallback value for a parameter. If you don't pass an argument — the default is used. If you do — it's overridden.

The syntax

def function_name(parameter="default_value"):
    # parameter has a value even if you don't pass one

Your first default parameter

def greet(name="stranger"):
    print(f"Hello, {name}.")
greet("Bull")     # Hello, Bull.
greet()           # Hello, stranger.

Pass a name — it uses yours. Pass nothing — it falls back to "stranger".

Multiple parameters — some with defaults

def banner(title, char="="):
    border = char * len(title)
    print(border)
    print(title)
    print(border)

banner("RedHorn")          # uses = by default
banner("RedHorn", "*")     # uses * instead
# =======
# RedHorn
# =======
# *******
# RedHorn
# *******

One parameter required. One optional. The function works either way.

Default parameters must come last

# Wrong — SyntaxError
def greet(name="stranger", role):
    print(f"{name} — {role}")

# Right — defaults always after required parameters
def greet(name, role="developer"):
    print(f"{name} — {role}")

Required parameters first. Default parameters after. Always.

Heads up!

  • Default parameters go after required ones — always
  • Pass an argument — it overrides the default
  • Don't pass — the default is used
  • Default values are set when the function is defined — not when it's called

The mindset shift

Stop thinking: "I need to pass every argument every time."

Start thinking: "Some parameters have sensible defaults — use them."

What you should understand now

  • Default parameters provide a fallback value
  • Pass an argument — overrides the default. Don't pass — default is used.
  • Default parameters always come after required ones
  • Makes functions flexible without requiring every argument every time
[ login to bookmark ] // copied! 22 views · 1 min
// resources
Code Example default_parameters.py
← prev Give your function something to work with next → PARAMETERS Mini Project — Username Generator
// 0 comments
// No comments yet. Be the first.
// leave a comment

// Your comment will appear after approval.