Cristhian Villegas
Backend9 min read2 views

Curso Python #2: Variables y Tipos de Datos en Python

Curso Python #2: Variables y Tipos de Datos en Python

Introduccion: ¿Que son las variables?

Logo de Python

Bienvenido a la Parte 2 de 10 del Curso de Python desde Cero. En el articulo anterior instalamos Python y escribimos nuestro primer programa. Ahora vamos a aprender uno de los conceptos mas importantes de la programacion: las variables.

Imagina que tienes varias cajas etiquetadas en tu escritorio. En una caja que dice "edad" guardas el numero 25. En otra que dice "nombre" guardas el texto "Maria". Y en otra que dice "tiene_cuenta" guardas un "si" o "no". Eso es exactamente lo que son las variables en programacion: cajas con nombre donde guardas informacion.

La computadora necesita guardar datos para trabajar con ellos. Las variables son el mecanismo que usa para hacerlo. Sin variables, no podrias hacer casi nada util en un programa.

📌 Nota: Este articulo es la Parte 2 de 10 del curso. Si no has leido la Parte 1 (instalacion de Python), te recomendamos empezar por ahi.

Crear y asignar variables

En Python, crear una variable es muy sencillo. Solo necesitas escribir un nombre, el signo = y el valor que quieres guardar:

python
1# Crear variables
2nombre = "Maria"
3edad = 25
4altura = 1.68
5es_estudiante = True

Asi de simple. No necesitas declarar el tipo de dato ni usar palabras especiales. Python se encarga de todo automaticamente.

El signo = en programacion no significa "es igual a" como en matematicas. Significa "guarda este valor en esta variable". Se lee de derecha a izquierda: "guarda el valor 25 en la variable edad".

Reglas para nombrar variables

No puedes ponerle cualquier nombre a una variable. Hay reglas que debes seguir:

ReglaValidoInvalido
Solo letras, numeros y guion bajomi_nombre, edad2mi-nombre, mi nombre
No puede empezar con numerodato11dato
No puede ser una palabra reservadami_classclass, if, for
Distingue mayusculas de minusculasEdad y edad son diferentes
💡 Tip: En Python, la convencion es usar snake_case para nombres de variables: todo en minusculas y las palabras separadas por guion bajo. Ejemplo: nombre_completo, fecha_nacimiento, total_compra.

Puedes cambiar el valor de una variable en cualquier momento:

python
1puntos = 10
2print(puntos)  # Muestra: 10
3
4puntos = 25
5print(puntos)  # Muestra: 25
6
7puntos = puntos + 5
8print(puntos)  # Muestra: 30

Tipos de datos basicos: int, float, str, bool

Cada valor que guardas en una variable tiene un tipo de dato. Python tiene cuatro tipos basicos que usaras constantemente:

int (numeros enteros)

Son numeros sin punto decimal. Se usan para contar cosas, edades, cantidades, etc.

python
1edad = 25
2cantidad = 100
3temperatura = -5
4anio = 2025

float (numeros decimales)

Son numeros con punto decimal. Se usan para precios, medidas, porcentajes, etc.

python
1precio = 19.99
2altura = 1.75
3pi = 3.14159
4porcentaje = 85.5
⚠️ Atencion: En Python se usa el punto como separador decimal, no la coma. Escribe 19.99, no 19,99.

str (cadenas de texto)

"str" viene de "string" (cadena en ingles). Son textos que van entre comillas, ya sean simples o dobles:

python
1nombre = "Maria"
2apellido = 'Lopez'
3mensaje = "Hola, bienvenido al curso"
4direccion = '123 Calle Principal'
5
6# Tambien puedes usar comillas triples para texto de varias lineas
7descripcion = """Este es un texto
8que ocupa varias
9lineas"""

bool (valores logicos)

"bool" viene de "booleano" (por el matematico George Boole). Solo tiene dos valores posibles: True (verdadero) o False (falso). Se usan para responder preguntas de si/no.

python
1es_mayor_de_edad = True
2tiene_descuento = False
3esta_lloviendo = True
4curso_completado = False
⚠️ Atencion: True y False van con la primera letra en mayuscula. Escribir true o false (en minuscula) causa un error en Python.

La funcion type(): como saber el tipo de una variable

Si alguna vez tienes duda sobre que tipo de dato contiene una variable, puedes usar la funcion type():

python
1nombre = "Maria"
2edad = 25
3altura = 1.68
4es_estudiante = True
5
6print(type(nombre))         # <class 'str'>
7print(type(edad))           # <class 'int'>
8print(type(altura))         # <class 'float'>
9print(type(es_estudiante))  # <class 'bool'>

La funcion type() te dice la "clase" (tipo) del valor. Es muy util cuando estas aprendiendo o cuando algo no funciona como esperabas y quieres verificar que tipo de dato estas usando.

Tambien puedes usarla directamente con valores:

python
1print(type(42))        # <class 'int'>
2print(type(3.14))      # <class 'float'>
3print(type("hola"))    # <class 'str'>
4print(type(True))      # <class 'bool'>

Conversion de tipos (casting)

A veces necesitas convertir un tipo de dato en otro. Por ejemplo, convertir el texto "25" en el numero 25 para poder hacer operaciones matematicas. Esto se llama casting (conversion de tipos).

Python tiene funciones para convertir entre tipos:

python
1# Convertir a entero
2numero = int("25")       # Convierte el texto "25" al numero 25
3print(numero + 5)        # Muestra: 30
4
5# Convertir a decimal
6decimal = float("19.99") # Convierte el texto "19.99" al numero 19.99
7print(decimal)           # Muestra: 19.99
8
9# Convertir a texto
10texto = str(100)         # Convierte el numero 100 al texto "100"
11print("Tu puntaje es: " + texto)  # Muestra: Tu puntaje es: 100
12
13# Convertir entre int y float
14entero = int(3.7)        # Convierte 3.7 a 3 (elimina los decimales, NO redondea)
15decimal = float(5)       # Convierte 5 a 5.0
⚠️ Cuidado: No puedes convertir cualquier texto a numero. int("hola") causa un error porque "hola" no es un numero. Solo puedes convertir textos que representen numeros validos.

¿Cuando necesitas hacer casting? Un caso muy comun es cuando lees datos del usuario (lo veremos mas adelante en este articulo). La funcion input() siempre devuelve texto, asi que si necesitas un numero, debes convertirlo:

python
1# Sin casting - esto no funciona como esperas
2edad_texto = "25"
3print(edad_texto + 5)  # ERROR: no puedes sumar texto + numero
4
5# Con casting - esto si funciona
6edad_numero = int("25")
7print(edad_numero + 5)  # Muestra: 30

Operaciones basicas con numeros

Python puede funcionar como una calculadora. Estas son las operaciones matematicas que puedes hacer:

OperadorOperacionEjemploResultado
+Suma10 + 313
-Resta10 - 37
*Multiplicacion10 * 330
/Division10 / 33.3333
//Division entera10 // 33
%Modulo (residuo)10 % 31
**Potencia2 ** 38

Veamos ejemplos practicos:

python
1# Operaciones basicas
2print(15 + 8)      # 23
3print(20 - 7)      # 13
4print(6 * 4)       # 24
5print(15 / 4)      # 3.75
6
7# Division entera (descarta los decimales)
8print(15 // 4)     # 3
9
10# Modulo (el residuo de la division)
11print(15 % 4)      # 3 (porque 15 = 4*3 + 3)
12
13# Potencia
14print(2 ** 10)     # 1024 (2 elevado a la 10)
15
16# Puedes usar variables en las operaciones
17precio = 100
18descuento = 15
19precio_final = precio - descuento
20print(precio_final)  # 85
21
22# Puedes combinar operaciones
23resultado = (10 + 5) * 2
24print(resultado)     # 30
💡 Tip: Python respeta el orden de las operaciones matematicas (primero multiplicacion y division, luego suma y resta). Usa parentesis () para controlar el orden cuando lo necesites.

Operaciones con strings (texto)

Los textos tambien tienen sus propias operaciones. Veamos las mas utiles:

Concatenar (unir textos)

python
1nombre = "Maria"
2apellido = "Lopez"
3
4# Unir textos con +
5nombre_completo = nombre + " " + apellido
6print(nombre_completo)  # Maria Lopez

Repetir textos

python
1linea = "-" * 30
2print(linea)  # ------------------------------
3
4risa = "ja" * 5
5print(risa)   # jajajajaja

Longitud de un texto: len()

python
1mensaje = "Hola Mundo"
2print(len(mensaje))  # 10 (cuenta todos los caracteres, incluyendo el espacio)

Slicing: obtener partes de un texto

Puedes extraer partes de un texto usando corchetes []. Cada caracter tiene una posicion (indice) que empieza desde 0:

python
1texto = "Python"
2#        P  y  t  h  o  n
3#        0  1  2  3  4  5
4
5print(texto[0])     # P (primer caracter)
6print(texto[1])     # y (segundo caracter)
7print(texto[-1])    # n (ultimo caracter)
8
9# Obtener un rango de caracteres [inicio:fin]
10print(texto[0:3])   # Pyt (desde posicion 0 hasta 3, sin incluir 3)
11print(texto[2:5])   # tho
12print(texto[:3])    # Pyt (desde el inicio hasta 3)
13print(texto[3:])    # hon (desde 3 hasta el final)
📌 Recuerda: En programacion, contamos desde 0, no desde 1. El primer caracter de un texto esta en la posicion 0, el segundo en la posicion 1, y asi sucesivamente.

f-strings: la forma moderna de combinar texto y variables

La forma mas comoda de mezclar texto con variables en Python es usando f-strings. Solo pon una f antes de las comillas y mete las variables entre llaves {}:

python
1nombre = "Maria"
2edad = 25
3
4# Con f-string (forma recomendada)
5mensaje = f"Hola, me llamo {nombre} y tengo {edad} anios"
6print(mensaje)  # Hola, me llamo Maria y tengo 25 anios
7
8# Puedes poner expresiones dentro de las llaves
9precio = 49.99
10print(f"El precio con IVA es: {precio * 1.16:.2f}")  # El precio con IVA es: 57.99

Input del usuario: la funcion input()

Hasta ahora, todos los valores los hemos escrito directamente en el codigo. Pero en un programa real, a menudo necesitas pedirle informacion al usuario. Para eso existe la funcion input():

python
1# Pedir el nombre al usuario
2nombre = input("¿Como te llamas? ")
3print(f"¡Hola, {nombre}! Bienvenido al curso.")

Cuando Python llega a la linea input(), el programa se detiene y espera a que el usuario escriba algo y presione Enter. Lo que el usuario escribe se guarda en la variable.

⚠️ Muy importante: La funcion input() siempre devuelve texto (tipo str), aunque el usuario escriba un numero. Si necesitas un numero, debes convertirlo con int() o float():
python
1# Esto NO funciona como esperas
2edad = input("¿Cuantos anios tienes? ")
3print(type(edad))  # <class 'str'> — es texto, no numero
4
5# Esto SI funciona
6edad = int(input("¿Cuantos anios tienes? "))
7print(type(edad))  # <class 'int'> — ahora si es numero
8print(f"En 5 anios tendras {edad + 5} anios")

Ejemplo practico: calculadora simple

Vamos a poner en practica todo lo que aprendimos creando una calculadora simple que le pide dos numeros al usuario y muestra los resultados de todas las operaciones. Crea un archivo llamado calculadora.py:

python
1# calculadora.py - Mi primera calculadora en Python
2
3print("=" * 40)
4print("   CALCULADORA PYTHON")
5print("=" * 40)
6
7# Pedir los numeros al usuario
8numero1 = float(input("Escribe el primer numero: "))
9numero2 = float(input("Escribe el segundo numero: "))
10
11# Realizar las operaciones
12suma = numero1 + numero2
13resta = numero1 - numero2
14multiplicacion = numero1 * numero2
15
16print()
17print(f"Resultados para {numero1} y {numero2}:")
18print("-" * 40)
19print(f"  Suma:            {numero1} + {numero2} = {suma}")
20print(f"  Resta:           {numero1} - {numero2} = {resta}")
21print(f"  Multiplicacion:  {numero1} * {numero2} = {multiplicacion}")
22
23# La division necesita cuidado especial (no dividir entre 0)
24if numero2 != 0:
25    division = numero1 / numero2
26    division_entera = numero1 // numero2
27    residuo = numero1 % numero2
28    print(f"  Division:        {numero1} / {numero2} = {division}")
29    print(f"  Division entera: {numero1} // {numero2} = {division_entera}")
30    print(f"  Residuo:         {numero1} % {numero2} = {residuo}")
31else:
32    print("  Division: No se puede dividir entre 0")
33
34potencia = numero1 ** numero2
35print(f"  Potencia:        {numero1} ** {numero2} = {potencia}")
36print("-" * 40)
37print("¡Gracias por usar la calculadora!")

Ejecuta el programa con python calculadora.py y pruebalo con diferentes numeros. Aqui tienes un ejemplo de como se ve:

bash
1========================================
2   CALCULADORA PYTHON
3========================================
4Escribe el primer numero: 10
5Escribe el segundo numero: 3
6
7Resultados para 10.0 y 3.0:
8----------------------------------------
9  Suma:            10.0 + 3.0 = 13.0
10  Resta:           10.0 - 3.0 = 7.0
11  Multiplicacion:  10.0 * 3.0 = 30.0
12  Division:        10.0 / 3.0 = 3.3333333333333335
13  Division entera: 10.0 // 3.0 = 3.0
14  Residuo:         10.0 % 3.0 = 1.0
15  Potencia:        10.0 ** 3.0 = 1000.0
16----------------------------------------
17¡Gracias por usar la calculadora!
💡 Tip: No te preocupes si ves la linea del if y no la entiendes todavia. Los condicionales (if/else) los veremos en detalle en un proximo articulo. Por ahora, solo debes saber que esa linea pregunta "¿el segundo numero es diferente de cero?" para evitar un error de division.

Resumen y proximo articulo

En este segundo articulo del curso hemos aprendido conceptos fundamentales:

  • Variables son como cajas etiquetadas donde guardas datos
  • Los cuatro tipos basicos: int (enteros), float (decimales), str (texto), bool (verdadero/falso)
  • La funcion type() para verificar el tipo de una variable
  • Casting para convertir entre tipos: int(), float(), str()
  • Operaciones con numeros: suma, resta, multiplicacion, division, potencia, modulo
  • Operaciones con texto: concatenar, repetir, longitud, slicing, f-strings
  • La funcion input() para pedir datos al usuario
  • Creamos una calculadora que combina todo lo aprendido

En el proximo articulo (Parte 3 de 10) aprenderemos sobre estructuras de control: condicionales — como hacer que tu programa tome decisiones usando if, elif y else. Esto es lo que hace que los programas sean realmente inteligentes.

¡Nos vemos en el siguiente articulo!

Share:
CV

Cristhian Villegas

Software Engineer specializing in Java, Spring Boot, Angular & AWS. Building scalable distributed systems with clean architecture.

Comments

Sign in to leave a comment

No comments yet. Be the first!

Related Articles