Cuando veas el símbolo %, puedes pensar en "por ciento". Pero en Python, así como en la mayoría de los otros lenguajes de programación, significa algo diferente.

El símbolo % en Python se llama el Operador de Módulo. Retorna el remanente de la división del operando izquierdo por el operando derecho. Se usa para obtener el residuo de un problema de división.

El operador de modulo es considerado una operación aritmética al igual que los operadores +, -, /, *, **, //.

La sintaxis básica es:

a % b

En el ejemplo anterior, a se divide por b, y el residuo se devuelve. Veamos un ejemplo con números.

7 % 2

El resultado del ejemplo anterior es uno. Dos entre siete (tres veces) y sobra uno.

El siguiente diagrama muestra una representación visual de 7 / 2 y 7 % 2 (La "R" significa residuo). El logo único en el lado derecho (con la flecha verde apuntando hacia él) es el residuo de la división del problema. También es la respuesta al 7 % 2.

image-196

He aquí otro ejemplo:

3 % 4

Esto dará como resultado tres. El cuatro no cabe en el tres, por lo que el tres original sigue sobrando. El siguiente diagrama muestra lo que está sucediendo. Recuerda, el operador del módulo devuelve el resto después de realizar la división. El resto es tres.

image-197

Ejemplo del uso del operador de módulo

Un uso común del operador de módulo es encontrar números pares o impares. El siguiente código utiliza el operador de módulo para imprimir todos los números impares entre 0 y 10.

for numero in range(1, 10):
    if(numero % 2 != 0):
        print(numero)

Resultado:

1
3
5
7
9

Traducido del artículo de Beau Carnes - The Python Modulo Operator - What Does the % Symbol Mean in Python? (Solved).