# 5 usages of an asterisk (*) in Python

## Stars in Python programming # Star and Python

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

## 1. Star as a multiplication operator

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

## 2. Stars as exponential operator

``````>>> 2 ** 3
8
``````

## 3. Star in arguments

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

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

## 4. Stars in keyword arguments

``````>>> def add_num(**kwargs):
...     return f"the sum is: {sum(kwargs.values())}"
...
the sum is: 6
``````

Double stars can be used to unpack a dictionary

## 5. 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'
``````