# What does % do in Python?

Use 1:

The % (modulo) operator yields the remainder from the division of the first argument by the second. The numeric arguments are first converted to a common type. A zero right argument raises the ZeroDivisionError exception. The arguments may be floating point numbers, e.g., 3.14%0.7 equals 0.34 (since 3.14 equals 4*0.7 + 0.34.) The modulo operator always yields a result with the same sign as its second operand (or zero); the absolute value of the result is strictly smaller than the absolute value of the second operand

Example 1: `6%2` evaluates to `0` because there’s no remainder if 6 is divided by 2 ( 3 times ).

Example 2`7%2` evaluates to `1` because there’s a remainder of `1` when 7 is divided by 2 ( 3 times ).

Use 2:

The `%` is also used in string formatting operations like `%=` to substitute values into a string:

``>>> x = 'abc_%(key)s_'>>> x %= {'key':'value'}>>> x 'abc_value_'``

Use 3:

For example (for python 3)

``print ('%s is %d years old' % ('Joe', 42))``

Would output

``Joe is 42 years old``