El objeto Python no es un error de llamada

El objeto Python no es un error de llamada
El error del objeto que no se puede convocar es común en Python y se causa cuando el usuario intenta crear una variable con el nombre de la igualdad de una palabra clave reservada, lo que hace que el programa no pueda diferenciar entre el nombre de la variable y la palabra clave reservada. Esta publicación actuará como una guía y explicará las razones y la solución al error "Objeto no llamable" en Python.

Razón 1: Naming no válido de variable en Python

Como se mencionó anteriormente, este error puede ser causado cuando el usuario nombra una variable igual a una palabra clave reservada y usa esa palabra clave reservada dentro del mismo programa también. Un ejemplo para demostrar este error se puede recrear utilizando el siguiente fragmento de código:

int = 5
var1 = int (7)
para i en el rango (1, var1):
Imprimir (i * 5)

Cuando ejecute este código, producirá:

En este ejemplo, el error es causado porque el programa está intentando llamar a la variable creada por el usuario "int" como una función, lo cual no es posible.

Solución: proporcionar identificadores adecuados a las variables

Para solucionar este problema, el usuario puede proporcionar un nombre diferente a la variable en la primera línea, y el código correcto para este ejemplo es:

a = 5
var1 = int (7)
para i en el rango (1, var1):
Imprimir (i * 5)

Cuando este código se ejecuta ahora, producirá el siguiente resultado en el terminal:

Como puede ver, el programa se ha ejecutado con éxito sin ningún error.

Razón 2: llamada incorrecta al método del módulo importado

Este error también ocurre cuando el usuario no utiliza correctamente la importación del módulo al acceder a sus métodos; Para demostrar esto, tome el siguiente fragmento de código:

TOCKETOR DE IMPORTA
var1 = socket (socket.Af_inet, enchufe.Sock_stream)
imprimir ("La salida de la variable de socket es como:")
Imprimir (VAR1)

En este fragmento de código:

  • El usuario ha importado el módulo "socket" en el código
  • Este módulo tiene un método llamado como socket (), y el usuario le está llamando sin mencionar el nombre del módulo con un operador de puntos

Cuando se ejecuta este código, produce el siguiente resultado:

Veamos cómo corregir este error.

Solución 1: Use el nombre del módulo con el operador DOT

Bueno, esta solución es bastante sencilla; Al llamar al método, use el nombre del módulo y acceda a su método después de aplicar el operador DOT, como así:

TOCKETOR DE IMPORTA
var1 = enchufe.enchufe (enchufe.Af_inet, enchufe.Sock_stream)
imprimir ("La salida de la variable de socket es como:")
Imprimir (VAR1)

Esta vez, cuando se ejecuta el código, produce el siguiente resultado en el terminal:

Como puede ver, el programa pudo ejecutarse sin ningún error.

Solución 2: Uso del enfoque de importación

Si no desea utilizar el nombre del módulo nuevamente durante todo el programa, puede cambiar la forma en que está importando el módulo en su programa; y en lugar de usar el "módulo de importación,"Puedes usar el"De la importación del módulo *". Lo que esto hace es que agrega directamente los métodos del módulo a su programa.

Con esta solución, el código correcto es:

de la importación de socket *
var1 = socket (AF_INET, SOCK_STREAM)
imprimir ("La salida de la variable de socket es como:")
Imprimir (VAR1)

Esta vez, cuando se ejecuta este código, producirá el siguiente resultado:

La salida confirma que el error se evitó con éxito.

Conclusión

El error de Python "El objeto no es llamable" a menudo es causado por llamar a una variable como una función/módulo cuando esa variable solo almacena un valor simple en lugar de ser un método. Además, cuando el nombre de la variable se establece como una palabra clave reservada para el método integrado, y el método incorporado también se usa dentro del mismo programa, también causa este error. Una última razón común de este error es la forma incorrecta de importar un módulo y llamar a su método, que se ha explicado en esta guía.