Using *args in Python: Handling Variable-Length Positional Arguments
In Python, you can add any number of arguments to a function, and *args
and **kwargs
can be helpful.
We should remember that asterisks *
help in
packing and unpacking values.
Let’s use the same add
function as in the previous chapter but with the use of *args
.
def add(*args):
result = 0
for num in args:
result += num
return result
The difference is that you can pass any number of arguments to the function; even if you do not pass any arguments, the result will be 0, just like a calculator in your phone.
The function add
receives any number of arguments and packs them into a tuple with the variable name args
. The for loop
goes through the tuple values and adds them to the result variable in the body of the function.
Note
You can use not only
*args
but any name. However, it is best practice to use the nameargs
for arbitrary arguments.
Arbitrary arguments must appear after the positional and optional arguments.
def add(a, b=0, *args):
result = a + b
for num in args:
result += num
return result
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.7
Using *args in Python: Handling Variable-Length Positional Arguments
Stryg for at vise menuen
In Python, you can add any number of arguments to a function, and *args
and **kwargs
can be helpful.
We should remember that asterisks *
help in
packing and unpacking values.
Let’s use the same add
function as in the previous chapter but with the use of *args
.
def add(*args):
result = 0
for num in args:
result += num
return result
The difference is that you can pass any number of arguments to the function; even if you do not pass any arguments, the result will be 0, just like a calculator in your phone.
The function add
receives any number of arguments and packs them into a tuple with the variable name args
. The for loop
goes through the tuple values and adds them to the result variable in the body of the function.
Note
You can use not only
*args
but any name. However, it is best practice to use the nameargs
for arbitrary arguments.
Arbitrary arguments must appear after the positional and optional arguments.
def add(a, b=0, *args):
result = a + b
for num in args:
result += num
return result
Tak for dine kommentarer!