← Python EspañolChapter 02 of 13

Variables y Tipos de Datos

## Objetivos de Aprendizaje - Entender el tipado dinámico de Python - Dominar los tipos de datos básicos - Aprender conversión de tipos - Trabajar con verificación de tipos ## Variables ### Crear Variables ```python x = 5 # Entero nombre = "Ana" # Cadena pi = 3.14 # Flotante es_activo = True # Booleano ``` ### Tipado Dinámico Las variables en Python pueden cambiar de tipo: ```python x = 5 # int x = "hola" # Ahora es str x = 3.14 # Ahora es float ``` ## Tipos de Datos Básicos ### Enteros (int) ```python edad = 25 negativo = -10 numero_grande = 1_000_000 # Guion bajo para legibilidad binario = 0b1010 # 10 en binario hexadecimal = 0xFF # 255 en hex octal = 0o77 # 63 en octal ``` ### Flotantes (float) ```python pi = 3.14159 cientifico = 1.5e10 # 1.5 * 10^10 negativo = -0.5 ``` ### Cadenas (str) ```python nombre = "Ana" saludo = 'Hola' multi_linea = """ Esto es una cadena de varias líneas """ crudo = r"C:\Users\Nombre" # Cadena cruda (sin caracteres de escape) ``` ### Booleanos (bool) ```python es_activo = True es_valido = False ``` ### Tipo None ```python resultado = None ``` ## Verificación de Tipos ### Función type() ```python x = 5 print(type(x)) # nombre = "Ana" print(type(nombre)) # ``` ### isinstance() ```python x = 5 print(isinstance(x, int)) # True print(isinstance(x, str)) # False print(isinstance(x, (int, float))) # True (int o float) ``` ## Conversión de Tipos ### Conversión Explícita ```python # int a float x = 5 print(float(x)) # 5.0 # float a int (trunca) y = 3.7 print(int(y)) # 3 (¡no 4!) # a cadena x = 5 print(str(x)) # "5" # cadena a int/float num = "42" print(int(num)) # 42 print(float(num)) # 42.0 ``` ### Cadena a Lista ```python texto = "hola" print(list(texto)) # ['h', 'e', 'l', 'l', 'o'] ``` ### Lista a Cadena ```python chars = ['h', 'e', 'l', 'l', 'o'] print("".join(chars)) # "hola" ``` ## Formateo de Cadenas ### f-strings (Python 3.6+) ```python nombre = "Ana" edad = 30 print(f"Me llamo {nombre} y tengo {edad}") print(f"En 5 años: {edad + 5}") print(f"Pi: {3.14159:.2f}") # 3.14 ``` ### Método format() ```python nombre = "Ana" print("Hola, {}".format(nombre)) print("{1} y {0}".format("Bob", "Ana")) print("{nombre} tiene {edad}".format(nombre="Ana", edad=30)) ``` ### Operador % ```python nombre = "Ana" print("Hola, %s" % nombre) print("%s tiene %d años" % (nombre, 30)) ``` ## Mutable vs Inmutable ### Tipos Inmutables - int, float, str, tuple, frozenset ```python # Las cadenas son inmutables s = "hola" # s[0] = "H" # ¡Error! s = "Hola" # Crea nueva cadena # Las tuplas son inmutables t = (1, 2, 3) # t[0] = 4 # ¡Error! ``` ### Tipos Mutables - list, dict, set ```python # Las listas son mutables nums = [1, 2, 3] nums[0] = 10 # OK nums.append(4) # OK # Los diccionarios son mutables d = {"a": 1} d["b"] = 2 # OK ``` ## Nomenclatura de Variables ### Reglas - Empezar con letra o guion bajo - Pueden contener letras, números, guiones bajos - Distinguen mayúsculas de minúsculas ```python nombre_valido = "ok" _privado = "oculto" camelCase = "no preferido en Python" CONSTANTE = "usar MAYUSCULAS" ``` ### Palabras Reservadas ```python # No uses estas como nombres de variables # False, None, True, and, as, assert, async, await, # break, class, continue, def, del, elif, else, except, # finally, for, from, global, if, import, in, is, # lambda, nonlocal, not, or, pass, raise, return, try, # while, with, yield ``` ## Asignación Múltiple ```python x, y, z = 1, 2, 3 a = b = c = 0 # Todos iguales a 0 ``` ## Intercambiar Variables ```python a, b = 1, 2 a, b = b, a # Intercambio simple print(a, b) # 2, 1 ``` ## Resumen - Python usa tipado dinámico - Tipos básicos: int, float, str, bool, None - Usa `type()` e `isinstance()` para verificar tipos - Convierte tipos con `int()`, `float()`, `str()`, etc. - Las cadenas son inmutables; las listas y dicts son mutables - Usa f-strings para formateo de cadenas - Nombres de variables: letras, números, guiones bajos; distinguen mayúsculas

Comments

Comments powered by Giscus

To enable comments, add your Giscus embed code here.

Learn more about Giscus →