Blog

Postado em em 6 de outubro de 2022

Erros em Python Difíceis de Entender – Aprenda a Resolver e Não Cometa Mais!

Quer aprender quais são os erros em Python difíceis de entender e aprender como você pode evitar e corrigir cada um deles?

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Erros em Python Difíceis de Entender

A ideia dessa aula é te mostrar alguns erros comuns em Python, mas que podem ser difíceis de entender ou até mesmo de identificar.

Esses erros comuns são bem frequentes, principalmente o primeiro, que é o uso de nomes restritos em Python, mas eu vou te mostrar como você pode corrigi-los!

Erros Comuns Python

Para começar nós vamos falar de um dos erros mais comuns, que é o uso de nomes restritos, mas como assim restritos?

Você já deve ter visto o comando print, max, min, for, if… todos esses nomes são de comandos dentro do Python.

Então como já existem dentro da linguagem você não pode utilizá-los para criar uma variável por exemplo. Se fizer isso você terá um erro.

Uso de nomes restritos
Uso de nomes restritos

Veja só nesse caso, estamos utilizando um nome restrito, que nesse caso serve para mostrar uma informação ao usuário e estamos atribuindo um valor a esse nome.

Nesse caso você nota que ao executar esse código (aqui estamos executando dentro do Jupyter) você vai ver que não temos um erro.

Então inicialmente está tudo certo, só que se você for “corrigir” e utilizar o print com o seu real propósito dá só uma olhada no resultado.

Erro ao usar nome restrito e voltar ao código correto
Erro ao usar nome restrito e voltar ao código correto

Agora se você rodar o código da maneira correta, veja que temos um erro ‘int” object is not callable. Isso quer dizer que não podemos chamar esse objeto, então o nosso print agora ele é o valor 1000, pois atribuímos a ele a variável faturamento.

Em alguns editores de código quando você roda o código correto ele pode já assumir que está certo e não mostrar esse erro, mas dentro do Jupyter por exemplo ele registra isso na memória.

Nesse caso você pode ir até a opção Kernel > Restart. Feito isso ele vai limpar essa memória e você vai conseguir utilizar os nomes restritos novamente caso tenha inutilizado algum deles.

Reiniciando o Kernel do Jupyter para resetar a memória
Reiniciando o Kernel do Jupyter para resetar a memória

Fazendo isso você já consegue utilizar o nome restrito com a sua função inicial dentro do Jupyter. Lembrando que para outros editores pode ser que assim que rode o código novamente ele já ajuste esse nome restrito.

Para que isso não ocorra você pode usar nomes em português, pois os comandos são em inglês, mas para evitar como palavras como min e max que acabam sendo nomes restritos.

Você pode compor o nome, como: min_valores, max_valores, num_vendas… Dessa forma você não deve ter problemas!

Vamos ao próximo erro!

Erros em Python Difíceis de Entender
Estrutura de repetição que deleta o conteúdo do dicionário ao mesmo tempo que percorre as informações

O próximo erro é quando você tenta deletar uma lista, dicionário ou set quando está percorrendo o mesmo.

Erros em Python Difíceis de Entender
Erro no qual o dicionário tem seu tamanho alterado durante a iteração

Esse aqui é o erro que você vai se deparar. Ele vai informar que você mudou o tamanho da lista, dicionário ou set durante a iteração, ou seja, durante o processo de percorrer os itens.

Erros em Python Difíceis de Entender
Sugestão de correção para esse problema

Para resolver esse problema, o que você pode fazer é criar uma lista auxiliar que vai verificar os itens e guardar os que vamos deletar.

Depois vamos percorrer essa lista com os itens que vamos deletar e só aí vamos deletar os itens. Nesse caso não vamos estar diretamente percorrendo o dicionário inicial.

Assim não vamos alterar o seu tamanho ao percorrer os itens!

Vamos ao nosso último erro que é em relação a variáveis globais e locais. Antes é importante que você saiba o que é uma variável local e uma variável global.

  • Variável global nada mais é do que uma variável que você declarou fora de qualquer parte do seu código e que o usuário vai conseguir utilizar a qualquer momento dentro de qualquer estrutura.
  • Já uma variável local ela só funciona dentro de um lugar específico, como por exemplo uma função. Então se criar uma variável dentro de uma função ela não vai existir fora dela. Por isso é uma variável local.
Erros em Python Difíceis de Entender
Erro com variáveis globais e locais

Nesse caso nós temos um erro, pois a variável local “faturamento” já foi referenciada antes de ser definida. Como assim?

Veja que no início do código já atribuímos a variável “faturamento” o valor 1000, só que dentro da função nós estamos atribuindo outra informação a ela, mas ela já foi utilizada como variável global antes, então ela existe também dentro da função.

Então uma forma de corrigir esse problema além de tomar cuidado com a definição de variáveis globais e definir ela só depois, assim ela não fica como uma variável global para a nossa função.

Sugestão de correção para o problema
Sugestão de correção para o problema

Eu te mostrei 3 erros comuns, mas que as vezes é difícil de entender o que está errado ou até mesmo como corrigir, por isso é importante que sempre tome cuidado, tente fazer a indentação correta, se precisar coloque comentários nos seus códigos.

Assim fica mais fácil de entender o que está acontecendo, e sempre que aparecer um erro que você não sabe o que é copie esse erro e cole no Google, lá você já vai ter uma noção do porquê o erro apareceu e como solucioná-lo.

Conclusão – Erros em Python Difíceis de Entender

Nessa aula eu te mostrei 3 erros em Python difíceis de entender, pois nem sempre as mensagens de erro são muito claras e nem sempre fica tão evidente qual é o erro.

Então é preciso tomar alguns cuidados e se precisar pode revisar essa aula algumas vezes para fixar quais são esses erros para que eles não se repitam.

A prática é fundamental para que você consiga lidar com esses problemas de forma mais natural e até saber onde encontrar soluções.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador