args, we can pass in any amount of non-keyword variables, while with
kwargs we can pass in any amount of keyword arguments. We will explain the
kwargs using an example of a sum function. More particularly, assume that we would like to build a function that sums up a list of numbers, without knowing the exact number of inputs.
Example of args
We will build a function called
sum_func that can take any number of arguments and the total sum will be returned.
def sum_func(*args): my_sum = 0 for n in args: my_sum+=n return(my_sum) print(sum_func(1,2,3,4))
As we can see, we passed the arguments “1,2,3,4” and it returned correctly 10 since 1+2+3+4 = 10.
Example of kwargs
Assume that we would like to sum the values based on the key values. For example, let’s say that we want to sum up incomes with the expenses (negative values). Using
kwargs we iterate over a dictionary. In the example below, for every key (
k), we add up its corresponding value (
def sum_func(**kwargs): my_sum = 0 for k, v in kwargs.items(): my_sum+=v return(my_sum) print(sum_func(salary=1000, rent=-300))