Usage of Asterisk (*) in Python

Soumendra's Blog
2 min readJul 31, 2021

A star can be used in many scenarios in Python. Let’s start.

Photo by Daniel Olah on Unsplash

Star as a multiplication operator

>>> 5 * 6
30
>>> 'star' * 2
starstar
>>> ['star'] * 2
['star', 'star']

Stars as exponential operator

>>> 2 ** 3
8

Star in arguments

>>> def add_num(*args):
... for arg in args: print(arg)
... return f"the sum is: {sum(args)}"
...
>>> add_num(1,2,3)
1
2
3
the sum is: 6

Here the star helps to unpack iterables; called as unpacking operator.

Stars in keyword arguments

>>> def add_num(**kwargs):
... return f"the sum is: {sum(kwargs.values())}"
...
>>> add_num(a=1, b=2, c=3)
the sum is: 6

Double stars can be used to unpack a dictionary

Stars to update two dictionaries

Merging two dictionaries can be done in many ways.

>>> x = {'a': 1, 'b': 2}
>>> y = {'a': 10, 'c': 30}
>>> yy = {'aa': 10, 'c': 30}
>>> z = x | y # Union operator introduced recently
>>> z
{'a': 10, 'b': 2, 'c': 30}
>>> x.update(y) # in place update
# as `y` value getting updated in `x`, `a` value getting overwritten from 1 to 10.
>>> x
{'a': 10, 'b': 2, 'c': 30}
>>> z = dict(**x, **yy)
>>> z
{'a': 1, 'b': 2, 'aa': 10, 'c': 30}
# same key in two dictionaries will throw error
>>> z = dict(**x, **y)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: dict() got multiple values for keyword argument 'a'

--

--

Soumendra's Blog

Senior development engineer at IBM India. Aspiring Solution Architect. Views are personal and not represent my organization.