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.