Deprecation Warning em Python – O que é, como usar e o que fazer?
Você já encontrou um Deprecation Warning em Python? Descubra o que ele significa e como lidar com esse aviso!
Um DeprecationWarning em Python é um aviso de que uma função, módulo ou recurso está obsoleto e será removido em versões futuras. Ele não interrompe o programa, apenas sinaliza que você deve migrar para a alternativa recomendada. Para exibir esses avisos, rode o código com python -W default ou trate-os com o módulo warnings.
Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!
O que você aprende neste vídeo
Resposta rápida: Neste vídeo, o instrutor explica o Deprecation Warning em Python, o aviso (não é erro) que aparece quando você usa uma função que ficou obsoleta (deprecated) na atualização de uma biblioteca. Ela continua funcionando na versão atual, mas vai parar nas futuras, o aviso serve para você já migrar. Ele mostra como criar esse aviso nos seus próprios códigos com o decorator @deprecated (do módulo warnings no Python 3.13+, ou da biblioteca deprecated antes).
Neste vídeo (11 min):
- 0:00 - O que é o deprecation warning: um aviso (não é erro) de que uma função ficou obsoleta.
- 2:00 - Por que aparece: a biblioteca atualizou e a função vai parar de funcionar nas próximas versões.
- 3:00 - Continua funcionando na versão atual; o aviso é para você já migrar para a nova função.
- 5:00 - Na prática: o decorator
@deprecated(do módulowarningsno Python 3.13+, oupip install deprecatedantes). - 7:00 - Passar uma mensagem no aviso indicando qual função usar no lugar.
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
O que você vai ver hoje?
Deprecation Warning em Python – O que é, como usar e o que fazer?
Você já se deparou com o temido aviso de Deprecation Warning em Python ao usar uma função ou biblioteca?
Esse aviso pode gerar dúvidas, mas, na verdade, é uma ferramenta essencial para garantir a evolução dos códigos sem causar grandes problemas aos desenvolvedores.
Nesta aula, vou te mostrar detalhadamente o que significa deprecated em Python, os motivos por trás desse conceito, como identificar funções obsoletas e, o mais importante, como lidar com elas na prática.
Além disso, você aprenderá a implementar essa lógica nos seus próprios projetos em Python, garantindo que seu código se mantenha atualizado e funcional.
O que é uma Função Obsoleta? Função Deprecated?
No contexto da programação, deprecated refere-se a um recurso, função ou biblioteca que foi marcado como obsoleto. Isso significa que:
- Ele ainda está disponível para uso, mas não é mais recomendado.
- Em uma versão futura, será removido completamente.
- Normalmente, já existe uma alternativa mais moderna e eficiente disponível.
Isso ocorre porque bibliotecas, linguagens e ferramentas são atualizadas constantemente para melhorar desempenho, segurança e funcionalidade. Nesse processo, algumas funções antigas precisam ser substituídas por alternativas mais eficazes e adequadas.
Uma função pode se tornar obsoleta por vários motivos. Aqui estão os principais:
- Melhoria na eficiência: Uma nova função pode ser mais rápida ou consumir menos memória.
- Manutenção do código: Funções antigas podem se tornar difíceis de manter ou integrar com novas funcionalidades.
- Segurança: Funções desatualizadas podem representar riscos em determinados contextos.
- Simplificação: Eliminar redundâncias no código facilita o aprendizado e promove boas práticas.
O que é o Deprecation Warning? – Identificando funções obsoletas
No Python, quando você utiliza uma função obsoleta (deprecated), o interpretador exibe uma mensagem chamada Deprecation Warning. Esse aviso alerta sobre a necessidade de atualizar o seu código.
Esse é um aviso muito importante, pois informa que o uso daquele recurso ou função não é mais recomendado e que ela será removida em versões futuras.
O Python utiliza esse mecanismo para, além de alertar sobre o uso de uma função obsoleta, indicar:
- Qual é a função em questão.
- A partir de qual versão ela será removida.
- Qual alternativa deve ser utilizada no lugar dela.

Como lidar com funções obsoletas
Quando você se deparar com um Deprecation Warning, isso não significa que a função deixará de funcionar imediatamente.
Porém, em futuras atualizações, ao atualizar a biblioteca ou ao tentar reutilizar o código, essa funcionalidade poderá não estar mais disponível.
Por isso, ao encontrar uma função deprecated, você pode tomar as seguintes ações:
- Leia e compreenda o aviso: Sempre que encontrar um Deprecation Warning, leia a mensagem com atenção. Ela geralmente oferece informações valiosas, como os motivos para a obsolescência da função e a alternativa recomendada.
- Atualize o código: Substitua a função obsoleta pela indicada no aviso. Isso evita problemas futuros ao atualizar o pacote do qual a função faz parte.
- Planeje com antecedência: Se o seu projeto depende de bibliotecas externas, acompanhe regularmente as atualizações. Assim, você evita surpresas quando uma função obsoleta for finalmente removida.
Criando Avisos sobre Funções Obsoletas nos seus Projetos
Além de ser essencial ao trabalhar com bibliotecas e ferramentas externas, é igualmente importante saber lidar com funções obsoletas ao desenvolver sua própria biblioteca ou pacote em Python.
Ao criar uma biblioteca, você pode marcar funções como obsoletas para alertar outros desenvolvedores sobre alterações futuras planejadas.
Para isso, utilizaremos o decorator @deprecated em Python. Um decorator permite atribuir comportamentos adicionais a uma função. Caso você ainda não saiba como utilizá-los, confira nossa aula: Decorators no Python – Para que Serve o @ no Python?
A partir da versão 3.13 do Python, o decorator @deprecated foi integrado diretamente à biblioteca padrão warnings. Isso significa que, para criar uma função marcada como obsoleta, você usará:
from warnings import deprecatedPara versões anteriores ao Python 3.13, será necessário instalar a biblioteca deprecated. O processo de criação será o mesmo em ambos os casos. Caso sua versão do Python seja anterior a 3.13, execute o comando: pip install deprecated

Feita a instalação, vamos importar o deprecated.
Versão do Python 3.13 e posterior:
from warnings import deprecatedVersões anteriores ao Python 3.13:
from deprecated import deprecatedDepois de importar o decorator, você o aplicará diretamente antes da função que deseja marcar como obsoleta. No @deprecated, inclua uma mensagem personalizada com o aviso, que será exibido como um Deprecation Warning.
@deprecated("Essa função vai parar de existir a partir da versão 2.0, use a função calcular_percentual_imposto no lugar")
def calcular_taxa(faturamento: float) -> float:
if faturamento < 1000:
taxa = 0
elif faturamento < 10000:
taxa = 0.1
elif faturamento < 500000:
taxa = 0.15
else:
taxa = 0.2
return taxa
def calcular_imposto(faturamento: float) -> float:
taxa = calcular_taxa(faturamento)
imposto = taxa * faturamento
print(imposto)
return imposto
def calcular_percentual_imposto(faturamento: float) -> float:
if faturamento < 1000:
taxa = 0
elif faturamento < 10000:
taxa = 0.1
elif faturamento < 500000:
taxa = 0.15
else:
taxa = 0.2
return taxaPerceba que, nesse caso, a função calcular_taxa se tornará obsoleta, e, em seu lugar, o usuário deverá utilizar outra função disponível, como calcular_percentual_imposto.
Caso a função calcular_taxa seja chamada, o Python exibirá no terminal um aviso informando que ela está obsoleta, junto com a mensagem personalizada que definimos:
from calculos import calcular_imposto, calcular_taxa, calcular_percentual_imposto
taxa = calcular_taxa(10000)
print(taxa)
Mesmo obsoleta, a função continua funcionando, realizando os cálculos normalmente. Porém, aparece no terminal uma mensagem aconselhando o usuário a migrar para outra função, pois a funcionalidade será removida em versões futuras.
Perguntas frequentes
1. O que é um DeprecationWarning em Python?
É um aviso que indica que um recurso (função, parâmetro ou módulo) está marcado como obsoleto e tende a ser removido em versões futuras do Python ou da biblioteca. Ele não causa erro nem para a execução; serve para você atualizar o código a tempo.
2. Por que o DeprecationWarning não aparece?
Por padrão, o Python oculta esses avisos fora de ambientes de desenvolvimento e testes, para não poluir a saída do usuário final. Para vê-los, execute o script com a opção python -W default ou ative os filtros do módulo warnings no início do código.
3. Como corrigir uma função obsoleta?
Leia a mensagem do aviso: ela costuma indicar qual recurso substituir e por qual alternativa. Atualize o código para a nova função ou parâmetro recomendado e teste. Manter o Python e as bibliotecas atualizados ajuda a identificar essas mudanças cedo.
4. Como criar meu próprio DeprecationWarning?
Use o módulo warnings: dentro da função antiga, chame warnings.warn(‘use a nova função X’, DeprecationWarning, stacklevel=2). Assim você avisa quem usa seu código que aquele recurso será descontinuado, indicando a alternativa.
Conclusão – Deprecation Warning em Python – O que é, como usar e o que fazer?
Entender como lidar com funções obsoletas no Python é essencial para garantir que seus projetos sejam sustentáveis e eficientes ao longo do tempo.
Seja ao atualizar bibliotecas existentes ou ao desenvolver suas próprias ferramentas, a prática de utilizar o deprecated e o Deprecation Warning é uma maneira organizada de evoluir o código, mantendo a compatibilidade e informando seus usuários sobre mudanças futuras de forma clara e responsável.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








