Como Validar CPF em Python (Algoritmo Completo)

Aprenda a implementar um validador de CPF em Python. Código pronto, explicação do algoritmo e exemplos de uso.

Introdução

Validar CPF é uma tarefa comum em sistemas brasileiros. Neste guia, você vai aprender a validar o Cadastro de Pessoas Físicas usando Python puro, sem dependências externas.

O Algoritmo

O algoritmo de validação do CPF funciona calculando dois dígitos verificadores com base nos 9 primeiros dígitos. Se os dígitos calculados forem iguais aos informados, o CPF é válido.

Implementação em Python

cpf.pypython
def validate_cpf(cpf: str) -> bool:
    # Remove caracteres não numéricos
    cpf = ''.join(filter(str.isdigit, cpf))

    # Verifica se tem 11 dígitos ou se todos são iguais
    if len(cpf) != 11 or len(set(cpf)) == 1:
        return False

    # Validação do primeiro dígito
    sum_val = sum(int(cpf[i]) * (10 - i) for i in range(9))
    digit_1 = (sum_val * 10) % 11
    if digit_1 == 10: digit_1 = 0

    if digit_1 != int(cpf[9]):
        return False

    # Validação do segundo dígito
    sum_val = sum(int(cpf[i]) * (11 - i) for i in range(10))
    digit_2 = (sum_val * 10) % 11
    if digit_2 == 10: digit_2 = 0

    return digit_2 == int(cpf[10])

A função `validate_cpf` primeiro limpa a entrada, removendo pontos e traços. Em seguida, verifica se a string resultante tem o comprimento correto (11) e se não é uma sequência de dígitos iguais (o que invalidaria o cálculo). Depois, aplica o cálculo padrão dos dois dígitos verificadores.

Não quer escrever código?

Use nossa ferramenta online gratuita para processar CPF instantaneamente. Perfeito para testes rápidos.

Usar Ferramenta de CPF Online