El objeto str no es python invocable
Funciones y métodos de Python
Michael Zippo
01.11.2021
Es fácil cometer errores al nombrar variables. Uno de los errores más comunes es llamar a una variable " str & rdquo ;. Si intenta utilizar el método Python con el mismo nombre en su programa, & nbsp; " typeerror: " str " el objeto no es invocable " se devuelve.
En esta guìa, hablamos sobre lo que significa el error de Python y por qué se genera. Analizamos dos ejemplos de este error en acciòn para que aprenda a resolverlo.
El problema: typeerror: " str " el objeto no es invocable
Nuestro mensaje de error es un TypeError. Esto nos dice que estamos intentando ejecutar una operaciòn en un valor cuyo tipo de datos no es compatible con esa operaciòn especìfica.
Eche un vistazo al resto de nuestro mensaje de error:
Cuando intentas llamar a < una href = "/ python-string-methods/">string como lo harìa con una funciòn, se devuelve un error. Esto se debe a que las cadenas no son funciones. Para llamar a una funciòn, agrega () al final del nombre de una funciòn.
Este error ocurre com√∫nmente cuando asigna una variable llamada " str " y luego intente usar la funciòn str ()
. Python interpreta " str " como una cadena y no puede utilizar la funciòn str ()
en su programa.
Echemos un vistazo a dos escenarios de ejemplo en los que se ha producido este error.
Escenario de ejemplo: declarar una variable llamada " str "
Escribimos un programa que calcula cuántos a√±os tiene un ni√±o hasta que cumpla 18 a√±os. Luego imprimimos este valor en la consola.
El 81% de los participantes afirmaron que se sentìan más seguros de sus perspectivas laborales después de asistir a un bootcamp. Asigne 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.
Empecemos por recopilar la edad actual del joven mediante el uso de una declaraciòn input () :
A continuaciòn, calculamos cuántos a√±os le quedan a un joven hasta que cumpla 18 a√±os. Haga esto restando el valor que un usuario le ha dado a nuestro programa de 18:
Usamos el método int ()
para convertir el entero de edad. Esto nos permite restar la edad del usuario de 18 años.
A continuaciòn, convertimos este valor en una cadena y lo imprimimos en la consola. Convertimos el valor en una cadena porque necesitamos concatenarlo en una cadena. Para hágalo, todos los valores deben tener el formato de una cadena.
Convirtamos el valor de " years_left " e imprìmalo en la consola:
Este còdigo imprime un mensaje informándonos de cuántos a√±os le quedan a un usuario hasta que cumpla 18 a√±os. Ejecute nuestro còdigo y vea qué sucede:
Nuestro còdigo devuelve un error. Hemos intentado utilizar el método str ()
para convertir el valor de " years_left & rdquo ;. Anteriormente en nuestro programa, declaramos una variable llamada " str & rdquo ;. Python piensa " str " es una cadena en nuestro programa, no una funciòn.
Para solucionar este error, cambiamos el nombre de la variable " str " to " age & rdquo ;:
Como hemos cambiado el nombre de nuestra variable, Python usará la funciòn str ()
cuando la llamamos. Ya no hay una variable que ocupe ese nombre. Ejecutemos nuestro còdigo de nuevo:
Nuestro còdigo calcula con éxito cuántos a√±os le quedan a un joven hasta que cumpla 18.
Escenario de ejemplo: String Formateo con%
Este error también se debe a un error en el formato de cadena .
Agreguemos algunas funciones nuevas a nuestro √∫ltimo programa. Primero, le pedimos a un usuario su nombre. En segundo lugar, vamos a crear el mensaje que le dice al usuario cuántos a√±os le quedan hasta que cumpla los 18 usando la sintaxis de formato%.
Nuestro còdigo reemplaza el sìmbolo del tipo de cadena% s con los valores " nombre " y "edad", respectivamente. Ejecutemos nuestro còdigo y veamos qué sucede:
Nuestro còdigo devuelve un error porque hemos olvidado usar el operador% para separar nuestra cadena y los valores que queremos agregar a nuestra cadena.
Nuestro còdigo cree que estamos tratando de llamar a "% s, tienes% s Quedan a√±os hasta que cumpla 18. " como una funciòn porque la cadena va seguida de paréntesis.
"Career Karma entrò en mi vida cuando más lo necesitaba y rápidamente me ayudò a combinar con un bootcamp. Dos meses después de graduarme, encontré mi sue√±o trabajo que se alinea con mis valores y metas en la vida! "
Para resolver este error, agregamos un signo de porcentaje entre "% s, te quedan% s a√±os hasta que cumplas 18 a√±os " y (nombre, edad) en nuestro còdigo: