🐍 Variables, Tipos y Operadores

Variables en Python

Una variable es un nombre que guarda un valor en memoria. En Python no hace falta declarar el tipo — simplemente asignas un valor y Python lo deduce automáticamente.

nombre = "Ana"
edad = 25
altura = 1.68
es_estudiante = True

Reglas para nombrar variables:

  • Deben empezar con una letra o guion bajo (_).
  • Pueden contener letras, números y guiones bajos.
  • Son sensibles a mayúsculas/minúsculas: Edadedad.
  • No pueden ser palabras reservadas (if, for, while, etc.).
  • Por convención se usa snake_case para nombres de variables.

Tipos de datos básicos

Tipo Ejemplo Descripción
int 42, -10 Números enteros
float 3.14, -0.5 Números decimales
str "Hola", 'a' Cadenas de texto
bool True, False Valores lógicos (booleano)
None None Ausencia de valor

Puedes saber el tipo de cualquier variable con type():

print(type(42))        # <class 'int'>
print(type(3.14))      # <class 'float'>
print(type("Hola"))    # <class 'str'>
print(type(True))      # <class 'bool'>

Operadores aritméticos

suma       = 10 + 3   # 13
resta      = 10 - 3   # 7
multiplic  = 10 * 3   # 30
division   = 10 / 3   # 3.333... (siempre float)
div_entera = 10 // 3  # 3 (división entera)
modulo     = 10 % 3   # 1 (resto de la división)
potencia   = 10 ** 3  # 1000 (10 elevado a 3)

Operadores de comparación

a = 10
b = 5

print(a == b)   # False  (igualdad)
print(a != b)   # True   (distinto)
print(a > b)    # True   (mayor que)
print(a < b)    # False  (menor que)
print(a >= b)   # True   (mayor o igual)
print(a <= b)   # False  (menor o igual)

Operadores lógicos

print(True and False)  # False
print(True or False)   # True
print(not True)        # False

# Ejemplo práctico
edad = 20
tiene_carnet = True
print(edad >= 18 and tiene_carnet)  # True

Conversión entre tipos (casting)

A menudo necesitarás convertir un tipo a otro, especialmente cuando usas input():

# input siempre devuelve str
edad_texto = input("¿Cuántos años tienes? ")

# Convertir str a int
edad = int(edad_texto)

# Convertir str a float
altura = float(input("¿Cuánto mides? "))

# Convertir número a str
mensaje = "Tienes " + str(edad) + " años"

# Conversiones útiles
print(int(3.9))    # 3 (trunca, no redondea)
print(float(5))    # 5.0
print(bool(1))     # True
print(bool(0))     # False
print(bool(""))    # False
print(bool("x"))   # True

F-strings (formateo de cadenas)

Los f-strings son la forma más moderna y cómoda de incrustar variables en texto. Se definen con una f antes de las comillas:

nombre = "Carlos"
edad = 30

# Sin f-string (incómodo)
print("Me llamo " + nombre + " y tengo " + str(edad) + " años.")

# Con f-string (limpio y legible)
print(f"Me llamo {nombre} y tengo {edad} años.")

# También puedes incluir expresiones
print(f"{nombre} tendrá {edad + 5} años dentro de 5 años.")

# Formatear decimales
precio = 19.9545
print(f"Precio: {precio:.2f} €")  # Precio: 19.95 €

Ejemplo completo

# Calculadora de propina
print("=== CALCULADORA DE PROPINA ===\n")

cuenta = float(input("Total de la cuenta (€): "))
porcentaje = int(input("Porcentaje de propina: "))

propina = cuenta * porcentaje / 100
total = cuenta + propina

print(f"\nPropina ({porcentaje}%): {propina:.2f} €")
print(f"Total a pagar:        {total:.2f} €")
💡 Recuerda: Usa int() o float() para convertir la entrada del usuario. Y los f-strings (f"...{variable}...") son tus mejores aliados para formatear texto de forma limpia.

Resumen

  • Las variables guardan valores y no necesitan declaración de tipo.
  • Tipos básicos: int, float, str, bool, None.
  • Operadores: aritméticos (+ - * / // % **), comparación, lógicos.
  • Usa int()/float()/str() para convertir entre tipos.
  • Los f-strings facilitan el formateo: f"Valor: {x}".

← Volver al curso