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
.
python912345def add(*args):result = 0for num in args:result += numreturn 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.
python912345def add(a, b=0, *args):result = a + bfor num in args:result += numreturn result
Grazie per i tuoi commenti!
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione