Understanding and Using Variable-Length Arguments
Variable-length arguments
, also known as varargs
, are a feature in functions that allow you to pass an arbitrary number of arguments without having to predefine their number.
To use variable arguments in a function, prefix the parameter with *
for positional arguments or**
for keyword arguments.
*
accepts an arbitrary number of positional arguments, whereas **
accepts an arbitrary number of keyword argument pairs.
*args
Syntax
In Python, *args
is used to pass a variable number of positional arguments to a function when the number of arguments isn't predetermined.
By prefixing the parameter with *
, the function processes these arguments as a tuple internally.
def print_numbers(*numbers):
for number in numbers:
print(number)
print_numbers(1, 2, 3)
# Output: 1, 2, 3
**kwargs
Syntax
**kwargs
allows passing a variable number of keyword arguments to a function.
By prefixing the parameter with **
, the function processes these arguments as a dictionary internally.
def print_numbers(**numbers):
for key, value in numbers.items():
print(f'{key}: {value}')
print_numbers(first=1, second=2, third=3)
# Output: first: 1, second: 2, third: 3
Want to learn more?
Join CodeFriends Plus membership or enroll in a course to start your journey.