Skip to main content

Python Argument Kinds

Satellite · Functions

Argument Kinds

Design APIs that communicate intent—control how callers pass arguments using positional-only markers, keyword-only sections, and variadic parameters.

Ordering syntax

def func(pos_only, /, pos_or_kw, *, kw_only):
...
  • / introduces positional-only parameters (Python 3.8+).
  • * indicates everything following is keyword-only unless you capture *args.

Examples

def ratio(numerator, denominator, /):
return numerator / denominator

def connect(*, timeout=5, retries=3):
...

Use positional-only when argument names are implementation details (e.g., math.pow). Use keyword-only when clarity matters (e.g., timeout).

Next up in your learning path