Skip to content

Parameters and Arguments

Parameters name the inputs a function accepts; arguments are the actual values passed. Understanding positional, keyword (named), default, and variadic parameters makes APIs flexible.

def f(a, b=2, *args, **kwargs):
    print(a, b, args, kwargs)

# Call examples
f(1)
f(1, 3)
f(1, 3, 4, 5, x=10)

# Keyword-only parameters (Python 3)
def g(a, *, verbose=False):
    if verbose:
        print(a)
% Matlab functions accept positional arguments; use varargin for variable inputs
function out = f(a, b, varargin)
  disp(a);
  if ~isempty(varargin)
    disp(varargin{1})
  end
end

% Name-value pairs are often handled via parser or struct

Gotchas

  • Default parameter values in Python are evaluated once; avoid mutable defaults.
  • Matlab does not have keyword arguments by default; name-value pairs are passed as varargin and parsed manually.
  • Be explicit about parameter types and document expected shapes for array inputs.