Como definir constante em Python
Neste artigo você vai aprender como definir constante em Python, também para que servem as constantes no Python e como devemos utilizá-las
Python não tem um tipo de constante nativo: por ser uma linguagem dinâmica, qualquer valor pode ser reatribuído enquanto o código roda. Na prática você define uma constante por convenção, escrevendo o nome todo em maiúsculas com as palavras separadas por underline (o famoso UPPER_SNAKE_CASE), como recomenda a PEP 8, por exemplo TOTAL_MAXIMO = 100. Desde o Python 3.8 dá pra ir além e marcar o nome com o typing.Final (ex: MAX_SIZE: Final = 1024), que sinaliza que aquele valor não deve ser reatribuído. Só tem um detalhe importante: o Final é verificado apenas por checadores de tipo estáticos, tipo o mypy, ele não bloqueia a reatribuição em tempo de execução, então o código roda mesmo se a regra for quebrada
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 116 aulas
- 4 projetos
- 9h 23min
Fala programador(a), beleza? Bora aprender mais sobre constantes na linguagem Python!
Na verdade ainda não é possível criar uma constante em Python como em outras linguagens, onde seu valor não é alterado
Pelo menos não no ano que escrevo este artigo hehe
Porém na documentação, caso você opte por criar uma variável com sintaxe de constante, há algumas instruções a serem seguidas
Todas as letras da variável que servirá como constante devem ficar uppercase (maiúsculas)
E também se houver mais de uma palavra elas devem ser separadas por underline
Veja dois exemplos:
CONSTANTE = 1 CONSTANTE_DOIS = 2
Esse é o padrão recomendado na documentação da linguagem Python
Você pode deixar um comentário inline explicando que aquela variável é na verdade uma constante
Obs: Talvez no futuro adicionem a instrução de constante em Python, então atualizarei este artigo conforme a documentação fornecer esta informação
Conclusão
Neste artigo vimos como definir constante em Python – que na verdade não existe uma sintaxe própria
E sim delimitar a variável com uma sintaxe que se assemelha as constantes de outras linguagens, como é indicado na documentação
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Explicar que desde o Python 3.8 existe o qualificador typing.Final (veio pela PEP 591) pra sinalizar que um nome não deve ser reatribuído, com exemplo real: importar Final do módulo typing e escrever MAX_SIZE: Final = 1024 (ou MAX_SIZE: Deixar CLARO o pulo do gato: o Final não impõe nada em tempo de execução, ele é checado só por verificador de tipo estático (mypy, pyright e afins), então se você reatribuir o valor o código roda do mesmo jeito, quem reclama é o type checker, não o Python rodando
Reforçar o PORQUÊ de nenhuma dessas abordagens ser uma constante ‘de verdade’: Python é dinâmico, o valor sempre pode ser reatribuído em runtime, não existe imutabilidade imposta pela linguagem. Constante em Python é convenção e sinalização, não imposição
Atualizar esse aviso: em vez de ‘talvez no futuro’, apontar que já existe uma sinalização parcial (o typing.Final), deixando claro que ela ainda não é uma constante imutável em runtime. Assim o post deixa de soar desatualizado
Adicionar 3 a 4 perguntas e respostas curtas cobrindo as dúvidas diretas: Python tem constante? Constante em Python é maiúscula ou minúscula? Como impedir que o valor mude? O que é o typing.Final? (respostas no bloco ‘geo’ abaixo)
Não vou fingir experiência que não tenho aqui: o material próprio que temos é sobre estrutura de repetição em Python, não sobre constante, então não tem teste de primeira mão de constante pra ancorar. O que dá pra deixar como roteiro honesto de teste pra quem quiser comprovar: criar uma variável marcada como Final (MAX_SIZE: Final = 1024), tentar reatribuir logo abaixo, rodar o script normalmente e ver que o Python executa sem reclamar, e depois passar o mypy no mesmo arquivo pra ver o checador acusar a reatribuição. Esse contraste (código roda, mas o type checker aponta) é o jeito de sentir na prática que o Final é sinalização estática, não trava de runtime
Perguntas frequentes
Python tem constante?
Nativa e imutável, não. Python é dinâmico, então o valor sempre pode ser reatribuído. O que existe é convenção (nome em maiúsculas) e o typing.Final pra sinalizar a intenção de não mudar
Constante em Python é maiúscula ou minúscula?
Maiúscula. A PEP 8 recomenda o nome todo em letras maiúsculas com as palavras separadas por underline, o UPPER_SNAKE_CASE, como em MAX_OVERFLOW ou TOTAL_MAXIMO
Como impedir que o valor de uma constante mude em Python?
Em tempo de execução, você não impede: a linguagem sempre deixa reatribuir. Dá pra marcar o nome com typing.Final pra que um verificador de tipo estático (mypy, pyright) aponte a violação, mas isso é um aviso na análise, não um bloqueio quando o código roda
O que é o typing.Final?
É um qualificador adicionado ao Python na versão 3.8 (pela PEP 591) que serve pra dizer que um nome não deve ser reatribuído. Usa assim: MAX_SIZE: Final = 1024 ou MAX_SIZE: Ele é checado só por type checkers estáticos, sem imposição em runtime
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares

Como limitar números decimais em Python?
Adicionar uma seção sobre f-strings, o jeito mais usado hoje pra formatar casa decimal. Exemplo: valor = 3.14159 e print(f"{valor:.2f}") mostrando 3.14. Explicar que o […]
Como programar Python [dicas e códigos iniciantes aqui]
Python é uma linguagem de programação muito popular e uma de alto nível utilizada em diferentes tipos de aplicações, como para o desenvolvimento web, em Machine […]

Como inverter uma string em Python
Neste artigo você vai aprender a como inverter uma string em Python, de uma maneira simples para você utilizar em seus programas Conteúdo também disponível […]


Obrigado, seu artigo me ajudou D+
De nada amigo! =)
Valeu pelo esclarecimento!!
de nada =)
Como fazer quando se tem um projeto grande, e você precise definir um arquivo para constantes como (constants.py) por exemplo, e tenha que usar esse arquivo como base de constantes para todo o projeto?
Eu coloquei todas as minhas constantes num arquivo .py e depois importo ele nos outros. O problema é que quando for usar uma constante, tenho que chamar cs.NOME por exemplo, ao invés de chamar só o nome da constante diretamente. Existe alguma outra forma de fazer isso melhor ou estou correto?
boa
valeu Orlando!
uma das coisas que não gosto no python é a liberalidade excessiva, existem apenas algumas convenções a serem seguidas mas no geral a linguagem não vai impedir o programador de fazer besteira. O que é péssimo para projetos em equipe