How to improve a simple Python add(a, b) function?

You showed a simple Python function that returns the sum of two values:

  • It works for numbers and for types that implement + (e.g., strings, lists).
  • Consider adding basic input validation and a docstring.

Improved version with docstring and optional type checks:

def add(a, b):
    """Return the sum of a and b.

    Works for numeric types or any objects that implement the + operator.
    Raises TypeError if the operands cannot be added.
    """
    try:
        return a + b
    except TypeError:
        raise TypeError(f"Operands of types {type(a).__name__} and {type(b).__name__} cannot be added")

If you intended numeric-only addition, you can enforce that with numbers.Number:

import numbers

def add(a, b):
    """Return the numeric sum of a and b; require numeric arguments."""
    if not isinstance(a, numbers.Number) or not isinstance(b, numbers.Number):
        raise TypeError("Both arguments must be numbers")
    return a + b

Tell me what behavior you expect (e.g., support strings, lists, type coercion, or strict numeric-only) and I can tailor the function.

Have your own question?

Ask the AI now