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

Ver este guia em outras linguagens: