Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Tipos de datos

Departamento de Tecnología
IES Frei Martín Sarmiento

El valor que asignas a una variable puede ser de muchos tipos diferentes, y el tipo determina qué tipo de operaciones puedes realizar con el valor. Obviamente, no puedes sumar una cadena de texto con un número, ni dividir un número entre una cadena. Estos son algunos de los tipos de datos más comunes:

a) Entero (o Integer)

Un entero (integer, en inglés) es un número completo (sin un punto decimal). Puede ser positivo o negativo.

En Python, como en otros lenguajes de programación, los enteros se indican sin comillas y se representan con el tipo int. Por ejemplo:

myInteger = 5
myNegativeInteger = -3

contador = 2
contador = contador + 1
print(contador)
# La variable contador termina como 3

# Aunque la manera de incrementar una variable es válida como se muestra anteriormente, 
# en Python suele simplificarse así:
contador = 2
contador += 1
print(contador)
3
3

b) Decimal (o Float)

Un decimal o flotante (float, en inglés) es un número que incluye un punto decimal. Puede ser positivo o negativo

En Python, como en otros lenguajes de programación, los enteros se indican sin comillas y se representan con el tipo float. Por ejemplo:

myFloat = 3.14
myNegativeFloat = -0.01

Cabe destacar que el separador de decimales es el punto en lugar de la coma.

c) Cadena de texto (o String)

Una cadena de texto (o string) es una secuencia de caracteres, o también mas comúnmente conocido como un texto. En Python, puedes crear una cadena encerrando caracteres entre comillas simples (') o comillas dobles ("). Por ejemplo:

myString = '¡Hola, mundo!'
anotherString = "Python es divertido"

d) Booleano (o Boolean)

Un booleano es un tipo que solo puede tener uno de dos valores: Verdadero o Falso. Los booleanos a menudo se usan en condiciones, como en una declaración if. Por ejemplo:

enviado = True
entregado = False

Pon atención en el hecho de que True y False empiezan con mayúsculas. Esto es distinto en otros lenguajes de programación.

Concatenación de cadenas de texto

La concatenación es la operación que nos permite unir varios fragmentos de texto (strings) para formar uno solo. En Python, existen dos formas principales de mostrar información combinada, cada una con un comportamiento distinto:

A. Unión con el operador suma (+)

Es la concatenación propiamente dicha. Se utiliza para fusionar variables y textos en una sola unidad.

  • Espacios manuales: El operador + une los textos de forma literal, por lo que debes incluir espacios en blanco " " si quieres que las palabras no aparezcan pegadas.

  • Obligación de tipos: Solo puedes concatenar texto con texto. Si intentas concatenar un número (int o float), Python dará error a menos que lo conviertas antes a texto usando str().

# Definición de variables
nombre = "Elena"
apellido = "García"
edad = 34

# Concatenación con el operador + (texto y variables de texto)
# No requiere conversión obligatoria
mensaje1 = "Me llamo " + nombre + " " + apellido
print(mensaje1)


# Concatenación con el operador + (texto y variable numérica)
# Requiere conversión obligatoria: str(edad)
mensaje2 = "Tengo " + str(edad) + " años"

# Visualización del mensaje guardado
print(mensaje2)
Me llamo Elena García
Tengo 34 años

B. Separación con comas (,)

Esta opción se utiliza exclusivamente dentro de la función print() para mostrar varios datos a la vez.

  • Espacios automáticos: Python añade automáticamente un espacio entre cada elemento separado por una coma.

  • Flexibilidad de tipos: No es necesario convertir los números a texto; la función print() acepta diferentes tipos de datos mezclados directamente.

# Definición de variables
nombre = "Elena"
edad = 34

# Impresión con comas
# El espacio se genera solo y no hace falta str()
print("Mis datos son", nombre, edad)
Mis datos son Elena 34

Cuadro comparativo

Método¿Crea una variable nueva?¿Necesita str() para números?¿Añade espacios?
Operador +, genera un nuevo texto., es obligatorio.No, hay que sumarlos.
Coma ,No, solo sirve para imprimir.No, lo hace automático.Sí, automáticamente.
años = 34
nombre = "Elena"
mensaje = "Me llamo " + nombre +  " y tengo " + str(años) + " años de edad"
print(mensaje)
Me llamo Elena y tengo 34 años de edad

Nótese como tuvimos que forzar a que la variable años fuera un String, usando la función str. Hablaremos de esto más adelante en la guía.

Resumen de tipos de datos

# Ejemplos de diferentes tipos de datos
edad = 15              # int (entero)
precio = 3.50          # float (decimal)
nombre = "Ana"         # str (cadena de texto)
aprobado = False        # bool (booleano)

print("Mi edad es de", edad, "años")
print(precio,"es demasiado caro")
print("Nombre:", nombre)
print("Aprobado:", aprobado)
Mi edad es de 15 años
3.5 es demasiado caro
Nombre: Ana
Aprobado: False

Conversión entre tipos de datos

En Python, puedes convertir valores de un tipo a otro usando funciones especiales llamadas funciones de conversión 🔄. Las más comunes son:

  • int() - Convierte a número entero

  • float() - Convierte a número decimal

  • str() - Convierte a texto

  • bool() - Convierte a valor lógico

⚠️ Importante: No todas las conversiones son posibles. Por ejemplo, no puedes convertir la texto “hola” a un número entero.

Ejemplos prácticos

Convertir decimal a entero:

mi_decimal = 3.74
mi_entero = int(mi_decimal)
print(mi_entero)  # Resultado: 3
3

Nota: Cuando conviertes un decimal a entero, Python no redondea, sino que elimina la parte decimal (trunca).

Convertir número a texto:

mi_numero = 25
mi_texto = str(mi_numero)
print("El número es: " + mi_texto)  # Resultado: El número es: 25
El número es: 25

Convertir texto a número:

edad_texto = "17"
edad_numero = int(edad_texto)
print(edad_numero + 1)  # Resultado: 18
18

Casos especiales

Conversiones que funcionan ✅:

  • int("123")123

  • float("3.14")3.14

  • str(42)"42"

  • bool(1)True

Conversiones que NO funcionan ❌:

  • int("hola") → Error

  • float("abc") → Error

¿Cómo conocer el tipo de datos de una variable?

En Python, si alguna vez te encuentras en una situación en la que no estás seguro del tipo de una variable o simplemente deseas verificarlo, puedes utilizar la función type(). Esta función devuelve el tipo de la variable que le pases como argumento.

# Comprobar tipos de datos
mi_numero = 42
mi_texto = "Python"
mi_decimal = 2.71
mi_booleano = False

print(type(mi_numero)) 
print(type(mi_texto))   
print(type(mi_decimal))
print(type(mi_booleano))
<class 'int'>
<class 'str'>
<class 'float'>
<class 'bool'>

Pregunta para pensar 🤔

  • ¿Qué ocurrirá si intentas sumar un número y un texto?

Prueba ejecutar el siguiente código y observa el error:

# ¡Este código dará error!
print("Hola" + 5)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[14], line 2
      1 # ¡Este código dará error!
----> 2 print("Hola" + 5)

TypeError: can only concatenate str (not "int") to str
# En su lugar, puedes hacer esto:
print("Hola " + str(5))  # Convierte el número a texto
print("Hola", 5)         # O usa la coma para separar

Resumen