Hola.
Vamos a averiguar el tipo de una variable, para ello usamos el comando type(variable) como en el ejemplo:
saludo = "Hola"
type(saludo)
Respuesta:
<class 'str'>
numero = 3
type(numero)
Respuesta:
<class 'int'>
Este nos mostrará la clase a la que pertenece, por ejemplo un string pertenece a la clase str, un entero pertenece a la clase int o un decimal pertenece a la clase float.
Pero, ¿qué ocurre si queremos comparar?, como por ejemplo para saber de que tipo es algún elemento de una lista. En ese caso podemos hacer uso de la función isinstance(). La cual nos devolverá True o False dependiendo de si un objeto es una instancia de una clase.
isinstance(1,int)
True
Sabiendo esto podríamos ir haciendo comprobaciones.
En el ejemplo siguiente, creamos una lista con distintos tipos de valores y comprobamos varios excepto el conjunto. Asi que recorremos la lista devolviendo información sobre el tipo.
lista = [ "uno",2,3.5,["cuatro",4],5j,(6,6),{ "a":1},{1,2,3} ]
for ele in lista:
if isinstance(ele,int):
print(f"{ele} es int")
elif isinstance(ele,float):
print(f"{ele} es float")
elif isinstance(ele,complex):
print(f"{ele} es complex")
elif isinstance(ele,tuple):
print(f"{ele} es tupla")
elif isinstance(ele,list):
print(f"{ele} es lista")
elif isinstance(ele,dict):
print(f"{ele} es diccionario")
else:
print(f"{ele} es otra cosa")
Por cierto, para comprobar en el ejemplo si es del tipo conjunto solo tenemos que usar isinstance(ele,set) 😉