Python invocable

Funciones y métodos de Python

Las llaves en Python tienen un significado especial. Se utilizan para denotar una invocación de función . Si especifica un par de llaves después de un número entero sin un operador entre ellas, Python cree que está intentando llamar a una función. Esto devolverá un & ldquo; TypeError: & lsquo; int & rsquo; el objeto no es invocable & rdquo; error.

En esta guía, hablamos sobre lo que significa este error y por qué se genera. Analizamos dos ejemplos de este error para ayudarlo a descubrir qué lo está causando en su código.




TypeError: & lsquo; int & rsquo; el objeto no es invocable

Las funciones de Python se llaman usando llaves. Eche un vistazo a una declaración que llama a una función llamada & ldquo; calculate_tip & rdquo ;:

 calculate_tip (5 , 10) 

Esta función acepta dos parámetros. Los valores que hemos especificado como parámetros son 5 y 10. Debido a que las llaves tienen este significado especial, no puede usarlas para llamar a un número entero.

Los dos escenarios más comunes donde los desarrolladores intentan llamar a un enteros son cuando:

Exploremos cada uno de estos escenarios uno por uno para ayudarlo a corregir el error al que se enfrenta.




Escenario n. ° 1: la función tiene un valor entero

Escriba un programa que calcule la suma de todas las propinas del personal de servicio en un restaurante ha recibido en un día. Comenzamos declarando una lista de sugerencias y una variable que almacenará el valor acumulativo de esas sugerencias:

 all_tips = [5, 10, 7.50, 9.25, 6.75] sum = 0 

A continuación, usamos el método sum () para calcular la cantidad total de propinas que han recibido los camareros:

El 81% de los participantes afirmaron que se sentían más seguros de sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asóciese a un bootcamp hoy mismo.

El graduado promedio de un bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

El sum ( ) suma todos los valores en una matriz. Luego imprimimos un mensaje en la consola informándonos cuánto dinero se ganó en propinas. Usamos el método str () para convertir el valor de & ldquo; sum & rdquo; a una cadena para que podamos concatenarla a la cadena que contiene nuestro mensaje.


Ejecute nuestro código:

 Traceback (última llamada más reciente): Archivo "main .py ", línea 4, en & lt; module & gt; sum = sum (all_tips) TypeError: El objeto' int' no es invocable 

Nuestro código devuelve un error porque hemos asignado una variable llamada & ldquo; sum & rdquo; que almacena un valor entero. La asignación de esta variable anula el método incorporado sum () . Esto significa que cuando intentamos utilizar el método sum () , nuestro código evalúa:

 total_tips = 0 ([5, 10, 7.50, 9.25, 6.75]) 

Podemos corregir este error cambiando el nombre de la variable & ldquo; sum & rdquo ;:

 all_tips = [5, 10, 7.50, 9.25, 6.75] total_tips = 0 total_tips = sum (all_tips) prin t ("El total de propinas ganadas hoy asciende a $" + str (total_tips) + ".") 

Hemos cambiado el nombre de la variable & ldquo; sum & rdquo; a & ldquo; total_tips & rdquo ;. Ejecutemos nuestro código nuevamente:

 El total de propinas ganadas hoy asciende a $ 38.5. 

¡Nuestro código se ejecuta correctamente!




Escenario # 2: Falta un operador matemático

Escriba un programa que calcule un número multiplicado por ese número más uno. Por ejemplo, si especificamos 9 en nuestro programa, multiplicará 9 por 10.

Comience pidiendo al usuario que inserte un número:

 start_number = int (input (" ¿Qué número te gustaría multiplicar? ")) 

A continuación, multiplicamos el valor del & ldquo; start_number & rdquo;  variable por el número uno mayor que ese valor:

 new_number = start_number (start_number + 1) print ("{} multiplicado por {} es {}.". format (start_number, start_number + 1, new_number)) 

Nuestro El código imprime un mensaje informándonos de la respuesta a nuestra pregunta matemática. Ejecute nuestro código y vea qué sucede:

 ¿Qué número le gustaría multiplicar? 9 Traceback (última llamada más reciente): archivo "main.py", línea 3, en & lt; módulo & gt; new_number = start_number (start_number + 1) TypeError: El objeto 'int' no es invocable 

Nuestro código no termina de ejecutarse. Esto se debe a que hemos olvidado un operador en nuestro código. En nuestro & ldquo; new_number & rdquo; línea de código, necesitamos especificar un operador de multiplicación. Esto se debe a que Python trata los corchetes seguidos de un valor como una llamada de función.


Agregue un operador de multiplicación (*) a nuestro código:

 new_number = start_number * (start_number + 1) 

Ahora, nuestro código debería funcionar:

 ¿Qué número te gustaría multiplicar? 10 10 multiplicado por 11 es 110. 

Nuestro código devuelve la respuesta esperada.


Conclusión

El error & ldquo; TypeError: & lsquo; int & rsquo; no es invocable & rdquo; aparece cuando intenta llamar a un número entero.

Esto puede suceder si olvida incluir un operador matemático en un cálculo. Este error también puede ocurrir si anula accidentalmente una función incorporada que usa más adelante en su código, como round () o sum () .
 

¡Ahora está listo para resolver este problema común de Python como un desarrollador profesional !





Python invocable: StackOverflow Questions

Tutorials