Estoy tratando de resolver un desajuste de tipo al agregar una cadena a otra cadena en una operación de concatenación.cómo saber si una variable es una tupla, una cadena o un número entero?
Básicamente, el error devuelto es un error de tipo (no se puede concatenar cadena y tupla); así que me gustaría averiguar dónde asigné un valor como tupla en lugar de cadena.
Todos los valores que asigno son cadenas, así que tengo que averiguar de dónde viene la tupla, así que esperaba que haya una manera en python de descubrir qué contiene una variable y de qué tipo es .
Hasta el momento, usando pdb, pude verificar el contenido de las variables y obtuve correctamente los valores que esperaba; pero me gustaría saber también el tipo de la variable (por lógica, si el compilador puede generar un error de tipo, significa que sabe qué hay dentro de una variable y si es compatible con la operación a realizar; debe ser una forma de sacar ese valor/bandera).
¿Hay alguna manera de imprimir el tipo de una variable en python?
Por cierto, traté de cambiar todas mis variables para que sean cadenas explícitamente, pero no es posible forzar str (myvar), por lo que no puedo simplemente usar como tipo de cadena en todas las cadenas de caracteres que uso.
No queriendo ser delicado, pero las variables nunca tienen un tipo en Python, solo los objetos (referenciados por variables) lo hacen. Debido a esto, no hay moldes de tipos reales, solo funciones de conversión de objetos. –
Indeed Jurgen; No estoy completamente al tanto de cómo funciona Python bajo el capó, pero supongo que es un lenguaje orientado a objetos, así que cuando creo una variable creará un objeto del tipo de datos correcto y lo referenciará con un puntero, así que cuando use el variable, de hecho, estoy usando una instancia de la cadena del objeto (o cualquier otro tipo de datos).El punto final es obtener el tipo de ese objeto :) –