Error de Python: el objeto no se puede llamar

Salman Mehmood 8 octubre 2023
  1. Solucionar el error de Python el objeto no se puede llamar
  2. la función llamable() en Python
Error de Python: el objeto no se puede llamar

Discutiremos el tipo de error el objeto no se puede llamar y veremos cómo podemos solucionarlo. También discutimos el uso de la función invocable para verificar si los objetos son invocables o no en Python.

Solucionar el error de Python el objeto no se puede llamar

Cuando observamos este error (“el objeto no se puede llamar”), probablemente necesitemos comprender qué está sucediendo dentro del script de Python. Por ejemplo, tenemos algunas líneas de código para demostrar el problema y cómo solucionarlo.

Código de error:

v = 5
g = 9
int = 3

print(int(g / v * int))

Producción :

TypeError: 'int' object is not callable

Tenemos tres variables v, g, e int. Estamos experimentando este problema porque definimos una variable llamada int que es una función.

El int es una función integrada de Python, por lo que no podemos usar int como nombre de variable; por lo tanto, cuando se ejecuta el script de Python, busca llamar al nombre de variable int. El tipo de nombre restringido int dentro de Python, y como resultado, le mostrará este error cuando lo usemos como una variable.

Arreglamos el error cambiando el nombre de la variable y ejecutando este script nuevamente.

Código fijo:

v = 5
g = 9
d = 3

print(int(g / v * d))

Producción :

5

Recuerde que cuando ejecute cualquier programa con una función dentro de su secuencia de comandos de Python, nunca debe poner esa función como nombre de variable porque enfrentará el mismo problema. El mismo problema ocurre con cuerdas, flotadores, etc.

Si recibe este error, primero debe verificar si alguna de sus variables llama a un nombre de función o no. No podemos llamar a una variable que almacena valores de tipo de datos como en el siguiente ejemplo de código.

Código de error:

x = "josh"
x()

Producción :

TypeError: 'str' object is not callable

la función llamable() en Python

Si un objeto se puede llamar como una función, la función llamable() devuelve True y acepta un parámetro, que puede ser cualquier objeto.

Por ejemplo, si tenemos una variable que es x igual a 42, esta variable se refiere a un número entero en la memoria. Podemos pasar x a la función llamable() e imprimir el resultado inmediatamente para ver si devuelve un valor true o false.

Al ejecutar esto, el valor devuelto es “false” porque el número entero 42 no se puede llamar.

Código de ejemplo:

x = 42
print(callable(x))

Producción :

False

Veamos qué sucede si la función callable() se llama a sí misma; escribimos callable dentro de la función callable() e imprimimos esto. Veremos que el resultado es True, y también podemos pasar la función print, que obviamente también es invocable.

print(callable(callable))
print(callable(print))

Producción :

True
True

Supongamos que definimos nuestros objetos personalizados, no objetos incorporados, donde se pueden llamar o no. Vamos a crear una función llamada FUNC() que devuelva algo.

Pasamos este nombre de función a la función llamable() e imprimimos la salida, y esto es invocable. Si llamamos al valor de retorno usando FUNC(), será un número entero y lo pasaremos a la función callable(). La salida devolverá False, que no se puede llamar porque no podemos llamar a un número entero que ya miramos esto.

Ejemplo:

def FUNC():
    return 51


print(callable(FUNC))
print(callable(FUNC()))

Producción :

True
False
Salman Mehmood avatar Salman Mehmood avatar

Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.

LinkedIn

Artículo relacionado - Python Error