Razão 1: Nomeação inválida da variável no Python
Como mencionado acima, esse erro pode ser causado quando os nomes de usuário uma variável igual a uma palavra -chave reservada e usa essa palavra -chave reservada dentro do mesmo programa também. Um exemplo para demonstrar esse erro pode ser recriado usando o seguinte snippet de código:
int = 5Quando você executa este código, ele produzirá:
Neste exemplo, o erro é causado porque o programa está tentando chamar a variável criada pelo usuário "int" como uma função, o que não é possível.
Solução: Forneça identificadores adequados para variáveis
Para corrigir esse problema, o usuário pode fornecer um nome diferente para a variável na primeira linha, e o código correto para este exemplo é:
a = 5Quando este código for executado agora, ele produzirá o seguinte resultado no terminal:
Como você pode ver, o programa foi executado com sucesso sem erros.
Razão 2: Chamada incorreta para o método do módulo importado
Esse erro também ocorre quando o usuário não está usando corretamente a importação do módulo ao acessar seus métodos; Para demonstrar isso, pegue o seguinte snippet de código:
soquete de importaçãoNeste snippet de código:
Quando este código é executado, ele produz o seguinte resultado:
Vamos ver como corrigir este erro.
Solução 1: Use o nome do módulo com operador de ponto
Bem, esta solução é bem direta; Ao ligar para o método, use o nome do módulo e acesse seu método após a aplicação do operador DOT, assim:
soquete de importaçãoDesta vez, quando o código é executado, ele produz o seguinte resultado no terminal:
Como você pode ver, o programa foi capaz de executar sem erros.
Solução 2: Usando a abordagem de From-Import
Se você não deseja usar o nome do módulo novamente ao longo do programa, poderá alterar a maneira como está importando o módulo em seu programa; e em vez de usar o “Módulo de importação,"Você pode usar o"De importação do módulo *”. O que isso faz é que ele adiciona diretamente os métodos do módulo ao seu programa.
Com esta solução, o código correto é:
De importação de soquete *Desta vez, quando este código é executado, ele produzirá o seguinte resultado:
A saída confirma que o erro foi evitado com sucesso.
Conclusão
O erro do python "Objeto não é chamável" é frequentemente causado por uma variável como uma função/módulo quando essa variável está armazenando apenas um valor simples, em vez de ser um método. Além disso, quando o nome da variável é definido como uma palavra-chave reservada para o método interno, e o método interno também é usado no mesmo programa, também causa esse erro. Uma última razão comum para esse erro é a maneira incorreta de importar um módulo e chamar seu método, que foi explicado neste guia.