PYTHON
LA HECHICERA DEL CÓDIGO
PYTHON
PRINT
PRINT
print (“Hola”)
>>Hola
print (“Hola”)
>>Hola
Es una declaración que al ejecutarse muestra o
(imprime), en pantalla el argumento que se
introduce dentro de los paréntesis ( ).
Para mostrar el texto ingresamos entre comillas
ya sean dobles o simples (“ “), (' '), los
caracteres de texto que deben mostrarse en
pantalla.
Caracteres
especiales
Le indicamos a la consola el carácter a continuación del símbolo
 debe ser tratado como un carácter especial.
” > Imprime comillas
 n > Separa el texto en una nueva línea
 t > Imprime un tabulador
 > Imprime la barra invertida textualmente.
STRING
STRING
CONCATENACIÓN
CONCATENACIÓN
Los strings en Python son un tipo de dato
formado por cadenas o secuencias de
caracteres de cualquier tipo, formando un texto.
Es la unificación de cadenas de texto:
print('Hello + “ “ + Kitty ')
>>Hello Kitty
Isela Data Maven
PYTHON
Python es un lenguaje de programación de alto nivel
que se destaca por ser fácil de aprender, legible y
versátil. Se utiliza en áreas muy diversas como
desarrollo web, análisis de datos, inteligencia
artificial, automatización de tareas y más.
Python se caracteriza por:
Sencillez y claridad: Su sintaxis es cercana al
lenguaje humano, lo que facilita su aprendizaje.
Multiparadigma: Permite programar de manera
estructurada, orientada a objetos o funcional.
Amplia comunidad: Tiene muchas librerías y
recursos disponibles, lo que acelera el desarrollo
de proyectos.
La hechicera del código
PYTHON
La hechicera del código
Input:
Ejemplo:
Es la función que permite al usuario introducir
información por medio del teclado al ejecutarse,
otorgándole una instrucción acerca del ingreso
solicitado. El código continuará ejecutándose
luego que el usuario realicé la acción.
En Python los tipos de datos son las diferentes clases de
valores que puede manejar Python.
Algunos de los más comunes son:
int → números enteros (ej. 10, -5, 2025)
float → números decimales (ej. 3.14, -0.5)
str → cadenas de texto (ej. "Hola", 'Python')
bool → valores lógicos (ej. True, False)
print(type(10)) # int
print(type(3.14)) # float
print(type("Hola")) # str
print(type(True)) # bool
input(“Escribe tu nombre : “ )
>> Escribe tu nombre : |
print(“Tu nombre es” + input(“Escribe tu nombre : “)
>>Escribe tu nombre: La hechicera del código
>> Tú nombre es La hechicera del código
PYTHON
La hechicera del código
Variables
Nombres de Variables y
Reglas
Ejemplo:
Ejemplo:
Una variable es un espacio en memoria donde
guardamos datos.
En Python no es necesario indicar el tipo de dato al
declarar la variable, ya que se asigna automáticamente.
✅ Reglas:
1. Deben comenzar con una letra o guion bajo (_),
nunca con un número.
2. Pueden contener letras, números y guion bajo, pero
no espacios.
3. No pueden ser palabras reservadas de Python (ej. if,
for, while).
4. Python distingue mayúsculas y minúsculas (Edad ≠
edad).
nombre = "Isela"
edad = 25
pi = 3.1416
es_estudiante = True
print(nombre, edad, pi, es_estudiante)
nombre_usuario = "Ana"
Edad = 30
_pi = 3.14
PYTHON
La hechicera del código
❌ Ejemplos inválidos
Ejemplo:
Ejemplo:
Integers (int)
Float
2edad = 25 # No puede empezar con número
nombre-usuario = "Ana" # No se permiten guiones
for = 5 # "for" es palabra reservada
x = 10
y = -5
print(x + y) # 5
print(type(x)) # <class 'int'>
a = 3.5
b = -0.7
c = 1.2e3 # Notación científica = 1200.0
print(a + b) # 2.8
print(c) # 1200.0
print(type(a)) # <class 'float'>
Son números enteros sin decimales.
Son números con decimales o en notación científica.
PYTHON
La hechicera del código
Conversiones entre Tipos de
Datos
Formatear Cadenas con
format()
Se pueden transformar datos usando funciones de
conversión:
int() → convierte a entero
float() → convierte a decimal
str() → convierte a cadena
x = 10
y = 3.5
print(float(x)) # 10.0
print(int(y)) # 3
print(str(x)) # "10"
nombre = "Isela"
edad = 25
print("Hola, me llamo {} y tengo {}
años".format(nombre, edad))
Ejemplo:
Ejemplo:
Permite insertar valores en una cadena de texto.
PYTHON
La hechicera del código
Ejemplo con posición y formato numérico:
Python permite realizar operaciones matemáticas con
símbolos:
pi = 3.14159265
print("El valor de PI con 2 decimales:{:.2f}".format(pi))
Operadores Matemáticos
Operador Significado Ejemplo Resultado
+ Suma 5 + 3 8
- Resta (7 - 2) 6
* Multiplicación 2 * 6 12
/ División (7/2) 3.5
// División entera 7 // 2 3
% Módulo (residuo) 7 % 2 1
** Potencia 2 ** 3 8
TIPOS DE DATOS Significado
Números Enteros (int)
Son números sin punto decimal. Como cuando cuentas
manzanas: 1, 5, 100, etc.
Números Decimales
(float):
Son números con punto decimal. Como cuando mides
algo: 3.14, 2.5, 99.9.
Cadenas de Texto (str):
Son palabras, letras, símbolos o cualquier cosa que no
sea un número. Siempre van entre comillas. Por ejemplo:
"hola", "Manzana", "123".
PYTHON
La hechicera del código
Ejemplo
a = 7
b = 2
print(a + b) # 9
print(a - b) # 5
print(a * b) # 14
print(a / b) # 3.5
print(a // b) # 3
print(a % b) # 1
print(a ** b) # 49
Conversión de tipos (int(),
float(), str())
Ahora, la Conversión de Tipos es el proceso de cambiar
lo que está en un recipiente para meterlo en otro. En
Python, usamos estas "fórmulas mágicas" para hacerlo:
PYTHON
La hechicera del código
1. int(): Para convertir a un número entero
Imagina que tienes el número "25" guardado como
texto. Si quieres hacer una operación matemática,
como sumarle 5, Python no te dejará porque ve un
texto, no un número. Con int() lo solucionas:
Lo que tienes: "25" (es un texto)
Lo que haces: int("25")
Lo que obtienes: 25 (ahora es un número entero
con el que puedes operar).
2. float(): Para convertir a un número decimal
Si necesitas trabajar con precios o medidas, float()
es tu aliado.
Lo que tienes: 20 (es un número entero)
Lo que haces: float(20)
Lo que obtienes: 20.0 (ahora es un número
decimal).
También funciona si lo que tienes es texto:
float("3.14") te da 3.14.
3. str(): Para convertir a texto
Esta es útil cuando quieres combinar un número con
un texto. Por ejemplo, si quieres decir "Tu edad es
25".
Lo que tienes:
"Tu edad es " (es un texto)
25 (es un número)
Lo que haces: "Tu edad es " + str(25)
Lo que obtienes: "Tu edad es 25" (un solo texto
completo).
PYTHON
La hechicera del código
Redondeo de números
(round())
Imagina que tienes un número con muchos decimales, como
si fuera un precio muy largo: 15.78345. A veces, para que sea
más fácil de entender o usar, necesitas "simplificarlo" o
"recortarlo".
Ahí es donde entra la función round(). Piensa en ella como
una tijera mágica que redondea los números.
¿Cómo funciona round()?
La forma más básica es para redondear a un número entero:
Si el primer decimal es 5 o más, redondea hacia arriba.
Por ejemplo, round(15.7) se convierte en 16.
15.7 está más cerca de 16 que de 15.
Si el primer decimal es menos de 5, redondea hacia abajo.
Por ejemplo, round(15.3) se convierte en 15.
15.3 está más cerca de 15 que de 16.
¿Y si quiero redondear a 2 decimales?
Puedes decirle a round() exactamente cuántos decimales
quieres. Para eso, le das dos datos:
1. El número que quieres redondear.
2. La cantidad de decimales que deseas.
Ejemplo: Imagina que tienes el número 3.14159. Si quieres
redondearlo a 2 decimales, le dices a Python:
round(3.14159, 2)
El resultado sería 3.14. La función se fija en el tercer decimal
(1) y, como es menor que 5, no sube el número anterior.
En resumen:
round(número) → Lo simplifica al entero más cercano.
round(número, decimales) → Lo simplifica a la cantidad de
decimales que tú le digas.
Así de sencillo es usar round() para que tus números se vean
más ordenados.
Imagina que quieres escribir una carta o un mensaje. A
veces, necesitas llenar "espacios en blanco" con
información que cambia. Por ejemplo, "Hola, mi nombre
es [nombre] y tengo [edad] años".
En Python, el formateo de cadenas es la manera
elegante y poderosa de llenar esos espacios vacíos. Hay
dos formas principales de hacerlo, y son muy sencillas:
1. El método .format() (La forma clásica)
Este método funciona como un rompecabezas. Creas
una plantilla con {} para los espacios vacíos y luego,
con .format(), le pasas las piezas (los datos) en orden.
Ejemplo:
nombre = "María"
edad = 25
#Usando .format()
mensaje = "Hola, mi nombre es {} y tengo {}
años.".format(nombre, edad)
print(mensaje) # Salida: Hola, mi nombre es María
y tengo 25 años.
PYTHON
La hechicera del código
Formateo de cadenas
(format, f-strings)
P Y T H O N
PYTHON
La hechicera del código
Aquí, Python reemplaza el primer {} con el primer dato
que le das (nombre) y el segundo {} con el segundo
dato (edad). Es muy organizado.
2. Las f-strings (La forma moderna y más fácil)
Las f-strings (la "f" es de formatted) son la forma más
popular y sencilla de hacerlo hoy en día. Solo tienes que
poner una f al principio de tu cadena de texto y luego,
dentro de la cadena, metes las variables directamente
entre llaves {}.
Ejemplo:
nombre = "Carlos"
edad = 30
# Usando f-strings
mensaje = f"Hola, mi nombre es {nombre} y
tengo {edad} años."
print(mensaje) # Salida: Hola, mi nombre es
Carlos y tengo 30 años.
P Y T H O N
PYTHON
La hechicera del código
¿Por qué son tan populares las f-strings?
Más legibles: Puedes ver la cadena completa con las
variables en su lugar, lo que hace el código más
claro.
Más cortas: Te ahorras el .format() y escribir los
nombres de las variables dos veces.
Más rápidas: Técnicamente, son un poco más rápidas,
aunque para la mayoría de los casos no notarás la
diferencia.
En resumen:
.format() es el método tradicional, funciona como un
rompecabezas.
f-strings son el método moderno, te permiten meter
las variables directamente en la cadena con una f al
inicio.
Ambos hacen lo mismo: crear cadenas de texto
personalizadas y dinámicas de manera sencilla.
PYTHON
La hechicera del código
Imagina una cadena de texto como un tren. Cada vagón es una letra o un
carácter. Para trabajar con este tren, Python tiene dos herramientas
principales:
1. .index(): Encontrar un vagón específico
El método .index() es como un inspector que te ayuda a encontrar la
posición de un vagón en particular. La posición en Python siempre empieza
a contar desde 0, no desde 1.
¿Qué hace? Busca la primera vez que aparece un carácter o una
secuencia de caracteres y te dice en qué posición está.
Ejemplo:
Si tienes la palabra "Hola"
"Hola".index("o") te dirá 1, porque la "o" está en la posición 1.
"Hola".index("la") te dirá 2, porque la secuencia "la" empieza en la
posición 2.
2. Slicing (text[0:5]): Cortar un pedazo del tren
El slicing es como un tren de juguete que puedes cortar para quedarte solo
con los vagones que necesitas. Usas corchetes [] y un rango de números
para decirle a Python desde dónde y hasta dónde quieres cortar.
La sintaxis es [inicio:fin], pero hay una regla importante: el número de fin
no se incluye. Siempre se corta hasta el vagón anterior.
Ejemplo:
Si tienes la palabra "Python"
"Python"[0:2] te dará "Py". (Empieza en la posición 0 y corta hasta la 2,
sin incluirla).
"Python"[2:5] te dará "tho". (Empieza en la posición 2 y corta hasta la
5, sin incluirla).
También puedes dejar el inicio o el fin vacíos:
"Python"[:2] te da "Py". (Si no pones inicio, empieza desde 0).
"Python"[2:] te da "thon". (Si no pones fin, corta hasta el final).
En resumen:
.index() te da la posición de algo que buscas.
Slicing te permite extraer un pedazo de la cadena usando posiciones.
Estas dos herramientas son esenciales para manipular texto y sacar la
información que te interesa de una cadena.
2. Strings (Cadenas de
texto)
M é t o d o s b á s i c o s :
PYTHON
La hechicera del código
M é t o d o s d e a n á l i s i s :
Imagina que cada uno de estos métodos es una pregunta que le haces a
una cadena de texto para saber qué tipo de caracteres tiene. La respuesta
siempre será True (verdadero) o False (falso).
Para saber si son números:
isdigit(): Le preguntas a la cadena: "¿Estás hecha de dígitos (0-9)?"
"123".isdigit() te responderá True.
"12.3".isdigit() te responderá False (por el punto decimal).
isnumeric(): Es un poco más flexible. Le preguntas: "¿Puedes ser un
número, aunque no seas un simple dígito?"
"123".isnumeric() te responde True.
"1/2".isnumeric() te responde True (la fracción 1/2 se considera un
valor numérico).
isdecimal(): Es la más estricta de las tres. Le preguntas: "¿Eres un
número decimal del sistema arábigo (0-9)?"
"123".isdecimal() te responde True.
"1/2".isdecimal() te responde False.
Para saber si son letras o números:
isalpha(): Le preguntas a la cadena: "¿Estás hecha de solo letras?"
"Hola".isalpha() te responderá True.
"Hola123".isalpha() te responderá False.
isalnum(): Le preguntas: "¿Estás hecha de letras y/o números?"
(Alfanumérico)
"Hola123".isalnum() te responderá True.
"Hola 123".isalnum() te responderá False (por el espacio).
Para saber si son mayúsculas o minúsculas:
islower(): Le preguntas: "¿Todas tus letras son minúsculas?"
"hola".islower() te responderá True.
"Hola".islower() te responderá False.
isupper(): Le preguntas: "¿Todas tus letras son mayúsculas?"
"HOLA".isupper() te responderá True.
"Hola".isupper() te responderá False.
Para saber si es un espacio o si se puede imprimir:
isspace(): Le preguntas: "¿Eres solo un espacio en blanco, un salto de
línea o una tabulación?"
" ".isspace() te responderá True.
" hola ".isspace() te responderá False.
isprintable(): Le preguntas: "¿Todos tus caracteres se pueden ver en
pantalla?"
"Hola mundo".isprintable() te responderá True.
Una cadena con caracteres invisibles (como un salto de línea) te
responderá False.
PYTHON
La hechicera del código
M é t o d o s d e t r a n s f o r m a c i ó n :
Imagina que una cadena de texto es una pieza de arcilla. Los métodos que vamos
a ver son herramientas que te permiten moldear, cambiar y limpiar esa pieza.
1. Cambio de mayúsculas y minúsculas
Estos métodos son como interruptores para el estilo de las letras:
cadena.capitalize(): Pone la primera letra en mayúscula y el resto en
minúsculas.
Ejemplo: "hola mundo".capitalize() se convierte en "Hola mundo".
cadena.lower(): Convierte toda la cadena a minúsculas.
Ejemplo: "Hola Mundo".lower() se convierte en "hola mundo".
cadena.upper(): Convierte toda la cadena a mayúsculas.
Ejemplo: "Hola Mundo".upper() se convierte en "HOLA MUNDO".
cadena.swapcase(): Invierte el estilo. Las mayúsculas se vuelven minúsculas y
viceversa.
Ejemplo: "Hola Mundo".swapcase() se convierte en "hOLA mUNDO".
2. Limpieza de espacios
Estos métodos son como borradores que eliminan los espacios innecesarios.
cadena.strip(): Quita los espacios en blanco del principio y del final de la
cadena.
Ejemplo: " hola mundo ".strip() se convierte en "hola mundo".
cadena.lstrip(): Quita los espacios solo del lado izquierdo (del principio).
Ejemplo: " hola mundo ".lstrip() se convierte en "hola mundo ".
cadena.rstrip(): Quita los espacios solo del lado derecho (del final).
Ejemplo: " hola mundo ".rstrip() se convierte en " hola mundo".
3. Formato y alineación
Estos métodos te permiten alinear el texto de forma estética. Debes indicar el
número total de espacios que quieres que ocupe la cadena.
cadena.center(ancho): Centra el texto en un espacio dado, rellenando con
espacios a los lados.
Ejemplo: "hola".center(10) se convierte en " hola ".
cadena.ljust(ancho): Alinea el texto a la izquierda.
Ejemplo: "hola".ljust(10) se convierte en "hola ".
cadena.rjust(ancho): Alinea el texto a la derecha.
Ejemplo: "hola".rjust(10) se convierte en " hola".
4. Otros métodos importantes
cadena.replace(viejo, nuevo): Busca una parte de la cadena y la reemplaza por
otra.
Ejemplo: "Hola, mundo".replace("mundo", "amigo") se convierte en "Hola,
amigo".
cadena.encode(): Convierte la cadena en bytes, que es el formato que las
computadoras entienden. Por lo general, se usa con un tipo de codificación
como utf-8.
Ejemplo: "Hola".encode("utf-8") se convierte en b'Hola'. Esto es un tema más
avanzado, pero es importante saber que existe.
PYTHON
La hechicera del código
M é t o d o s d e s e p a r a c i ó n y u n i ó n :
Imagina que una cadena de texto es como una soga. Estos
métodos son herramientas para cortar o unir esa soga de
diferentes maneras.
Métodos de Separación (para cortar la soga)
Estos métodos toman una cadena y la dividen en varias partes,
guardándolas en una lista.
cadena.split(separador): El método más común para separar.
Corta la cadena en pedazos usando un separador que tú le
indiques. Si no le das uno, usa los espacios por defecto.
Ejemplo: frase = "Hola, mundo de Python"
frase.split(" ") te da ['Hola,', 'mundo', 'de', 'Python']
frase.split(",") te da ['Hola', ' mundo de Python']
cadena.splitlines(): Corta la soga por las líneas. Divide la
cadena en una lista de líneas, usando los saltos de línea (como
cuando presionas "Enter").
Ejemplo: texto = "Línea 1nLínea 2nLínea 3"
texto.splitlines() te da ['Línea 1', 'Línea 2', 'Línea 3']
cadena.partition(separador): Corta la soga en tres partes.
Busca el primer separador que le des y divide la cadena en una
tupla de 3 elementos:
a. La parte antes del separador.
b. El separador mismo.
c. La parte después del separador.
Ejemplo: url = "www.google.com"
url.partition(".") te da ('www', '.', 'google.com')
cadena.rpartition(separador): Corta la soga en tres, pero desde
la derecha. Es igual que partition(), pero busca la última vez
que aparece el separador.
Ejemplo: ruta = "C:/usuarios/documentos/archivo.txt"
ruta.rpartition("/") te da ('C:/usuarios/documentos', '/',
'archivo.txt')
Método de Unión (para pegar pedazos de soga)
separador.join(lista): El método para unir. Es el inverso de
split(). Toma una lista de cadenas y las une en una sola,
colocando el separador entre cada una.
Ejemplo: palabras = ['Hola', 'mundo', 'de', 'Python']
" ".join(palabras) te da 'Hola mundo de Python'
"-".join(palabras) te da 'Hola-mundo-de-Python'
PYTHON
La hechicera del código
3. Estructuras de Datos
L i s t a s → c o l e c c i ó n o r d e n a d a y m u t a b l e
Imagina una lista como una lista de compras 🛒 que haces en un
papel.
Colección Ordenada
"Colección ordenada" significa que cada cosa que pones en tu
lista tiene una posición específica y esa posición importa. Al igual
que en una lista de compras:
El primer artículo está en la posición 1.
El segundo artículo está en la posición 2.
En Python, la computadora cuenta las posiciones, pero empieza
desde el cero (0). Así que el primer artículo está en el índice 0, el
segundo en el 1, y así sucesivamente.
Ejemplo:
lista_de_compras = ["manzanas", "leche",
"pan"]
P Y T H O N
PYTHON
La hechicera del código
T u p l a s → c o l e c c i ó n o r d e n a d a e i n m u t a b l e
Las tuplas en Python son como una lista de compras escrita en
una piedra. 🗿
Colección Ordenada
Al igual que las listas, las tuplas son una colección ordenada de
elementos. Esto significa que cada elemento tiene una posición
fija (empezando desde el índice 0), y el orden en el que se
guardan es importante.
Ejemplo:
coordenada = (10, 20)
P Y T H O N
PYTHON
La hechicera del código
T u p l a s → c o l e c c i ó n o r d e n a d a e i n m u t a b l e
El número 10 está en la posición 0.
El número 20 está en la posición 1.
Colección Inmutable
"Inmutable" significa que no pueden ser cambiadas una vez que
han sido creadas. Una tupla es fija.
Esto implica que no puedes:
Añadir nuevos elementos.
Quitar elementos.
Cambiar un elemento por otro.
Ejemplo: Si intentaras cambiar un elemento de la tupla
coordenada, Python te daría un error:
¿Para qué se usan las tuplas?
Se usan para guardar datos que no deben ser modificados, como:
Las coordenadas de un punto ((x, y)).
Los días de la semana.
La información de un registro que no va a cambiar (por ejemplo, los datos de un
libro: ("El Señor de los Anillos", "J.R.R. Tolkien", 1954)).
En resumen, la principal diferencia entre una lista y una tupla es que las listas son
flexibles (se pueden editar) y las tuplas son rígidas (son permanentes). Esto las
hace perfectas para guardar datos que necesitan mantenerse intactos.
coordenada[0] = 30
# Esto causaría un error
P Y T H O N
P Y T H O N
PYTHON
La hechicera del código
D i c c i o n a r i o s → p a r e s c l a v e - v a l o r
Imagina un diccionario como una agenda de contactos. No
organizas a tus amigos por un número de lista (como en una
lista), sino por su nombre. Cada entrada tiene dos partes:
1. La clave (key): El nombre de la persona, que es única e
irrepetible.
2. El valor (value): La información asociada a esa persona (su
teléfono, correo, dirección, etc.).
Los diccionarios en Python funcionan exactamente igual: son
colecciones que guardan información en pares de clave-valor. La
clave es como el "rótulo" o la "etiqueta" que te permite encontrar
el valor que necesitas, de forma rápida y directa.
¿Cómo se ven en Python?
Los diccionarios se crean con llaves {}. Dentro de ellas, cada par
se separa por dos puntos :, y cada par de clave-valor está
separado por una coma ,.
Ejemplo:
perfil_usuario = {
"nombre": "Simba",
"edad": 1,
"ciudad": "Ciudad de México"
}
PYTHON
La hechicera del código
Claves: "nombre", "edad", "ciudad"
Valores: "Ana", 30, "Ciudad de México"
¿Cómo se usan?
Para acceder a la información, no usas la posición (como en las
listas), sino la clave.
Para saber el nombre de Ana, simplemente usas la clave
"nombre":
Además, los diccionarios son mutables (pueden ser
modificados). Puedes cambiar un valor o añadir
uno nuevo fácilmente:
P Y T H O N
print(perfil_usuario["nombre"])
# Salida: Ana
PYTHON
La hechicera del código
P Y T H O N
p e r f i l _ u s u a r i o [ " e d a d " ] = 3 1
# C a m b i a l a e d a d a 3 1
p e r f i l _ u s u a r i o [ " p r o f e s i o n " ] =
" I n g e n i e r a "
# A ñ a d e u n a n u e v a c l a v e - v a l o r
En resumen, un diccionario es ideal para cuando
necesitas guardar información que tiene una
etiqueta o nombre para ser encontrada, en lugar de
una simple posición.
S e t s → c o l e c c i ó n n o
o r d e n a d a d e e l e m e n t o s
ú n i c o s
M é t o d o s : a d d ( ) , c l e a r ( ) , c o p y ( ) , d i f f e r e n c e ( ) ,
d i f f e r e n c e _ u p d a t e ( ) ,
d i s c a r d ( ) , i n t e r s e c t i o n ( ) ,
i n t e r s e c t i o n _ u p d a t e ( ) , i s d i s j o i n t ( ) ,
i s s u b s e t ( ) , p o p ( ) , r e m o v e ( ) ,
s y m m e t r i c _ d i f f e r e n c e ( ) ,
s y m m e t r i c _ d i f f e r e n c e _ u p d a t e ( ) , u n i o n ( ) ,
u p d a t e ( )
PYTHON
La hechicera del código
Método Descripción Simple Ejemplo
add()
Añade un elemento a un set. Si ya
existe, no hace nada.
mi_set.add('plátano')
clear() Elimina todos los elementos del set. mi_set.clear()
copy() Crea una copia superficial del set.
mi_nueva_copia =
mi_set.copy()
difference()
Devuelve un nuevo set con los
elementos que están en el primer set,
pero no en el segundo.
set1.difference(set2)
difference_update()
Elimina del set los elementos que
también están en otro set.
set1.difference_update(set2)
discard()
Elimina un elemento del set. No da
error si el elemento no existe.
mi_set.discard('manzana')
intersection()
Devuelve un nuevo set con los
elementos que tienen en común dos o
más sets.
set1.intersection(set2)
intersection_update(
)
Mantiene solo los elementos que el set
tiene en común con otro.
set1.intersection_update(set
2)
isdisjoint()
Devuelve True si los sets no tienen
elementos en común.
set1.isdisjoint(set2)
issubset()
Devuelve True si todos los elementos
de un set están en otro.
set1.issubset(set2)
pop()
Elimina y devuelve un elemento
aleatorio del set.
elemento = mi_set.pop()
remove()
Elimina un elemento del set. Da un
error si no existe.
mi_set.remove('naranja')
symmetric_differenc
e()
Devuelve un set con los elementos que
están en uno u otro, pero no en ambos.
set1.symmetric_difference(s
et2)
symmetric_differenc
e_update()
Mantiene solo los elementos que no
están en ambos sets.
set1.symmetric_difference_u
pdate(set2)
union()
Devuelve un nuevo set con todos los
elementos de ambos sets.
set1.union(set2)
update()
Añade los elementos de otro set (o
cualquier iterable) al set actual.
mi_set.update(otro_set)
PYTHON
La hechicera del código
4. Booleanos y Control de Flujo
Booleanos: El interruptor ON/OFF de la lógica
Imagina un interruptor de luz. Solo tiene dos estados
posibles:
Encendido (ON)
Apagado (OFF)
En Python, los Booleanos funcionan igual. Son un tipo de dato
que solo puede tener dos valores:
True (Verdadero) → Como el interruptor ON
False (Falso) → Como el interruptor OFF
¿Para qué sirven?
Se usan para tomar decisiones. Cuando haces una pregunta
a Python (una condición), la respuesta siempre es True o
False.
Ejemplo de la vida real:
Pregunta: "¿Está lloviendo?"
Respuesta: True (sí, está lloviendo)
Respuesta: False (no, no está lloviendo)
Ejemplo en Python:
P Y T H O N
e d a d = 1 8
# P r e g u n t a a P y t h o n : ¿ L a e d a d e s
m a y o r o i g u a l a 1 8 ?
e s _ m a y o r _ d e _ e d a d = ( e d a d > = 1 8 )
p r i n t ( e s _ m a y o r _ d e _ e d a d )
# S a l i d a : T r u e
PYTHON
La hechicera del código
Si edad fuera 16, la respuesta sería False.
En resumen: Los booleanos son la base de la toma
de decisiones en la programación. Son un simple
"sí" o "no", "verdadero" o "falso".
Aquí tienes una explicación sencilla de los
operadores de comparación en Python, con un
ejemplo visual para cada uno.
Operadores de Comparación: Hacer Preguntas y
Obtener Respuestas
Imagina que los operadores de comparación son
como un detective que te ayuda a hacer preguntas
para comparar dos cosas. La respuesta a cada
pregunta siempre es un booleano: True o False.
O p e r a d o r e s d e c o m p a r a c i ó n ( = = , ! = , < , > , < = , > = )
Operador Significado Lógica Ejemplo Resultado
and Y
Se usa para combinar
dos condiciones. La
respuesta es True solo
si ambas condiciones
son True.
(2 > 1) and (5 > 3) VERDADERO
or O
Se usa para combinar
dos condiciones. La
respuesta es True si al
menos una de las
condiciones es True.
(10 < 5) or (10 > 8) VERDADERO
not NO
Invierte el resultado
de una condición. not
True se convierte en
False, y not False se
convierte en True.
not (2 == 3) VERDADERO
PYTHON
La hechicera del código
O p e r a d o r e s L ó g i c o s : C o n e c t o r e s p a r a T o m a r
D e c i s i o n e s
Operador Significado Pregunta que hace Ejemplo Resultado
(==) Igual a
¿Son los dos valores
iguales?
5 == 5 VERDADERO
!= Diferente a
¿Son los dos valores
diferentes?
10 != 5 VERDADERO
< Menor que
¿El valor de la
izquierda es menor
que el de la derecha?
3 < 8 VERDADERO
> Mayor que
¿El valor de la
izquierda es mayor
que el de la derecha?
12 > 10 VERDADERO
<=
Menor o igual
que
¿El valor de la
izquierda es menor o
igual que el de la
derecha?
4 <= 4 VERDADERO
>=
Mayor o igual
que
¿El valor de la
izquierda es mayor o
igual que el de la
derecha?
7 >= 5 VERDADERO
PYTHON
La hechicera del código
Ejemplo de la vida real:
Imagina que quieres ir al cine. Las condiciones son:
Condición 1: tienes_dinero = True
Condición 2: la_pelicula_esta_disponible = True
Con and: Solo vas al cine si tienes dinero y la
película está disponible.
tienes_dinero and
la_pelicula_esta_disponible → True
Con or: Vas al cine si tienes dinero o la película
está disponible (aunque la lógica no sea
perfecta, la computadora lo evaluaría).
tienes_dinero or la_pelicula_esta_disponible
→ True
Con not: Si tu amigo te dice "no vamos a ver esa
película", estás invirtiendo la condición original.
not la_pelicula_esta_disponible → False (si
originalmente era True)
PYTHON
La hechicera del código
¡Claro que sí! Con gusto te explico los condicionales (if, elif, else)
de la manera más sencilla.
Imagina que estás en la vida real y necesitas tomar decisiones.
Siempre usas preguntas y, dependiendo de la respuesta, haces
algo diferente.
if, elif, else: El Cerebro de tus Decisiones
Estos son los bloques de construcción para que tus programas
tomen decisiones.
1. if (SI... sucede esto)
Es la condición principal. Le preguntas algo al programa y, SI esa
condición es True, el programa ejecuta un bloque de código.
Ejemplo: if hace_sol: (Si hace sol...) entonces voy a la playa.
2. elif (SINO, SI... sucede esto otro)
Si la primera condición (if) fue False, el programa puede revisar
otras condiciones. elif significa "sino, si...". Puedes tener tantos elif
como necesites.
Ejemplo: elif esta_nublado: (Sino, si está nublado...) entonces
voy al parque.
3. else (SINO... haz esto por defecto)
Si ninguna de las condiciones anteriores (if o elif) fue True,
entonces el programa ejecuta el código que está en el else. Es el
"plan B" o la acción por defecto.
Ejemplo: else: (Sino, si nada de lo anterior se cumple...)
entonces me quedo en casa.
Ejemplo Completo en la Vida Real:
Imagina que decides qué hacer el fin de semana según el clima:
C o n d i c i o n a l e s ( i f , e l i f , e l s e )
S I ( i f ) e l d í a e s s o l e a d o :
V o y a l a p l a y a .
S I N O , S I ( e l i f ) e l d í a e s t á n u b l a d o :
V o y a l p a r q u e .
S I N O ( e l s e ) :
M e q u e d o e n c a s a .
PYTHON
La hechicera del código
P Y T H O N
t e m p e r a t u r a = 2 8
i f t e m p e r a t u r a > 2 5 :
p r i n t ( " ¡ Q u é c a l o r ! I r é a l a p l a y a . " )
e l i f t e m p e r a t u r a > 1 5 : # S i l a t e m p e r a t u r a n o e s
m a y o r d e 2 5 , p e r o s í m a y o r d e 1 5
p r i n t ( " C l i m a a g r a d a b l e , ¡ u n p a s e o a l
p a r q u e ! " )
e l s e : # S i n i n g u n a d e l a s a n t e r i o r e s f u e T r u e
p r i n t ( " H a c e f r í o , m e j o r m e q u e d o e n c a s a . " )
R e s u l t a d o : ¡ Q u é c a l o r ! I r é a l a p l a y a . ( P o r q u e 2 8
e s m a y o r q u e 2 5 ) .
E n r e s u m e n , l o s c o n d i c i o n a l e s i f , e l i f , e l s e l e d a n
a t u p r o g r a m a l a c a p a c i d a d d e p e n s a r y
r e a c c i o n a r d e f o r m a d i f e r e n t e s e g ú n l o q u e e s t é
s u c e d i e n d o , h a c i e n d o q u e s e a m u c h o m á s
i n t e l i g e n t e y ú t i l .
PYTHON
La hechicera del código
B u c l e s :
f o r
w h i l e ( c o n b r e a k , c o n t i n u e , e l s e )
B u c l e s : R e p e t i r , r e p e t i r y r e p e t i r
I m a g i n a q u e t i e n e s q u e h a c e r a l g o m u c h a s
v e c e s , c o m o s i f u e r a u n j u e g o . L o s b u c l e s s o n
c o m o u n a c a n c i ó n q u e t e d i c e " ¡ h a z l o o t r a v e z ! "
o u n a r e g l a q u e d i c e " ¡ s i g u e h a c i e n d o e s t o h a s t a
q u e . . . ! "
¡ C l a r o q u e s í ! C o n g u s t o t e e x p l i c o l o s b u c l e s
c o m o s i f u e r a p a r a u n n i ñ o d e 3 a ñ o s , c o n
e j e m p l o s d i v e r t i d o s .
B u c l e s : R e p e t i r , r e p e t i r y r e p e t i r
I m a g i n a q u e t i e n e s q u e h a c e r a l g o m u c h a s v e c e s ,
c o m o s i f u e r a u n j u e g o . L o s b u c l e s s o n c o m o u n a
c a n c i ó n q u e t e d i c e " ¡ h a z l o o t r a v e z ! " o u n a r e g l a
q u e d i c e " ¡ s i g u e h a c i e n d o e s t o h a s t a q u e . . . ! "
1 . f o r : " H a z l o p o r c a d a c o s a "
I m a g i n a q u e t i e n e s u n a c a j a l l e n a d e j u g u e t e s . E l
b u c l e f o r e s c o m o s i t e d i j e r a n :
" ¡ P O R C A D A j u g u e t e e n l a c a j a , d a l e u n a b r a z o ! "
PYTHON
La hechicera del código
PYTHON
La hechicera del código
P Y T H O N
j u g u e t e s = [ " o s o " , " m u ñ e c a " , " c a r r o " ]
f o r m i _ j u g u e t e i n j u g u e t e s :
p r i n t ( f " ¡ A b r a z o a m i { m i _ j u g u e t e } ! " )
L o q u e h a c e :
A b r a z o a m i o s o !
A b r a z o a m i m u ñ e c a !
A b r a z o a m i c a r r o !
2 . w h i l e : " S i g u e h a c i e n d o e s t o M I E N T R A S s e a
v e r d a d "
E l b u c l e w h i l e e s c o m o c u a n d o t u m a m á t e d i c e :
" M I E N T R A S t u c u a r t o e s t é d e s o r d e n a d o , ¡ s i g u e
r e c o g i e n d o t u s j u g u e t e s ! "
T ú s i g u e s r e c o g i e n d o h a s t a q u e t u c u a r t o e s t é
o r d e n a d o .
PYTHON
La hechicera del código
P Y T H O N
n u m _ g a l l e t a s = 3
w h i l e n u m _ g a l l e t a s > 0 :
p r i n t ( f " ¡ M e c o m o u n a g a l l e t a ! Q u e d a n
{ n u m _ g a l l e t a s } g a l l e t a s . " )
n u m _ g a l l e t a s = n u m _ g a l l e t a s - 1 # L e
q u i t a m o s 1 g a l l e t a
p r i n t ( " ¡ S e a c a b a r o n l a s g a l l e t a s ! " )
L o q u e h a c e :
¡ M e c o m o u n a g a l l e t a ! Q u e d a n 3 g a l l e t a s .
¡ M e c o m o u n a g a l l e t a ! Q u e d a n 2 g a l l e t a s .
¡ M e c o m o u n a g a l l e t a ! Q u e d a n 1 g a l l e t a s .
¡ S e a c a b a r o n l a s g a l l e t a s !
T r u c o s e s p e c i a l e s p a r a w h i l e :
b r e a k ( ¡ P a r a ! ) : I m a g i n a q u e e s t á s c o m i e n d o
g a l l e t a s y d e r e p e n t e ¡ t e d a d o l o r d e p a n z a ! N o
q u i e r e s m á s . b r e a k e s c o m o d e c i r " ¡ P a r a y a e l
b u c l e , n o s i g a s ! " .
PYTHON
La hechicera del código
P Y T H O N
g a l l e t a s = 5
w h i l e g a l l e t a s > 0 :
p r i n t ( f " C o m i e n d o g a l l e t a . . . Q u e d a n
{ g a l l e t a s } . " )
i f g a l l e t a s = = 3 :
p r i n t ( " ¡ O h n o , m e d u e l e l a p a n z a !
¡ P A R A R ! " )
b r e a k # A q u í s e d e t i e n e e l b u c l e
g a l l e t a s - = 1
C o m i e n d o g a l l e t a . . . Q u e d a n 5 .
C o m i e n d o g a l l e t a . . . Q u e d a n 4 .
¡ O h n o , m e d u e l e l a p a n z a ! ¡ P A R A R !
c o n t i n u e ( ¡ S á l t a t e e s t o ! ) : I m a g i n a q u e e s t á s
b u s c a n d o t u s j u g u e t e s , p e r o e n c u e n t r a s u n o
r o t o . D i c e s " ¡ S á l t a t e e s t e , n o l o r e c o j o , b u s c o
e l s i g u i e n t e ! " . c o n t i n u e e s c o m o d e c i r
" ¡ S á l t a t e e s t a v e z y v e a l a s i g u i e n t e ! " .
P Y T H O N
P Y T H O N
PYTHON
La hechicera del código
n u m e r o s = [ 1 , 2 , 3 , 4 , 5 ]
f o r n u m i n n u m e r o s :
i f n u m = = 3 :
p r i n t ( f " ¡ E l { n u m } e s e s p e c i a l !
¡ S A L T A R ! " )
c o n t i n u e # S e s a l t a e l r e s t o d e l
c ó d i g o p a r a 3 y v a a l s i g u i e n t e n ú m e r o
p r i n t ( f " C o n t a n d o : { n u m } " )
c o n t a d o r = 0
w h i l e c o n t a d o r < 3 :
p r i n t ( f " C o n t a n d o . . . { c o n t a d o r } " )
c o n t a d o r + = 1
e l s e : # E s t o s e e j e c u t a S O L O s i e l b u c l e
t e r m i n ó n o r m a l m e n t e
p r i n t ( " ¡ T e r m i n é d e c o n t a r ! " )
C o n t a n d o : 1
C o n t a n d o : 2
¡ E l 3 e s e s p e c i a l ! ¡ S A L T A R !
C o n t a n d o : 4
C o n t a n d o : 5
e l s e ( ¡ C u a n d o t e r m i n a s ! ) : S i e l b u c l e w h i l e
t e r m i n a s o l i t o ( p o r q u e l a c o n d i c i ó n s e h i z o
f a l s a ) , p u e d e s d e c i r " ¡ Y a q u e t e r m i n a m o s t o d o ,
h a g a m o s o t r a c o s a ! " .
C o n t a n d o . . . 0
C o n t a n d o . . . 1
C o n t a n d o . . . 2
¡ T e r m i n é d e c o n t a r !
¡ A s í f u n c i o n a n l o s b u c l e s !
T e a y u d a n a r e p e t i r c o s a s
s i n t e n e r q u e e s c r i b i r l o
m i s m o u n a y o t r a v e z .
PYTHON
La hechicera del código
F u n c i o n e s ú t i l e s e n b u c l e s :
Función Descripción Ejemplo
range()
Crea una secuencia de números.
Es como una lista que no existe en
la memoria, pero que puedes usar
para repetir un bucle un número
específico de veces. Puedes decirle
dónde empezar, dónde terminar y
de cuánto en cuánto quieres que
cuente.
for i in range(5): <br> (Se repite 5 veces,
con i tomando los valores 0, 1, 2, 3, 4)
enumerate()
Asocia un índice a cada elemento.
Imagina que numeras cada
artículo de una lista para no
perder la cuenta. enumerate() te
da la posición (el índice) y el valor
de cada elemento.
for i, fruta in enumerate(['manzana',
'pera']):<br> (i = 0, fruta = 'manzana'; i =
1, fruta = 'pera')
zip()
Combina dos o más listas
elemento por elemento. Es como
si unieras dos o más listas con un
cierre, creando pares (o tuplas) de
elementos que puedes recorrer
juntos.
nombres = ['Ana', 'Juan']<br>edades =
[25, 30]<br>for n, e in zip(nombres,
edades):<br> (n = 'Ana', e = 25; n = 'Juan',
e = 30)
min()
Encuentra el valor más bajo.
Puedes usarla dentro de un bucle
para comparar valores y saber
cuál es el más pequeño.
numeros = [10, 5, 20]<br>min(numeros)
<br>(Devuelve 5)
max()
Encuentra el valor más alto. Es el
opuesto de min().
numeros = [10, 5, 20]<br>max(numeros)
<br>(Devuelve 20)
sum() Suma todos los elementos.
numeros = [10, 5, 20]<br>sum(numeros)
<br>(Devuelve 35)
PYTHON
La hechicera del código
L i s t c o m p r e h e n s i o n
¿ Q u é e s L i s t C o m p r e h e n s i o n ?
I m a g i n a q u e t i e n e s q u e h a c e r u n a l i s t a n u e v a a
p a r t i r d e u n a l i s t a q u e y a t i e n e s .
T r a d i c i o n a l m e n t e , l o h a r í a s c o n u n b u c l e f o r ,
c o m o s i e s t u v i e r a s l l e n a n d o u n a c a n a s t a u n o p o r
u n o .
L i s t C o m p r e h e n s i o n e s c o m o u n a m á q u i n a m á g i c a
q u e h a c e l o m i s m o , p e r o e n u n a s o l a l í n e a d e
c ó d i g o , m á s r á p i d o y d e f o r m a m á s e l e g a n t e . E s
u n a m a n e r a " i n t e l i g e n t e " d e c r e a r l i s t a s .
C ó m o f u n c i o n a ( L a r e c e t a m á g i c a )
L a e s t r u c t u r a e s m u y s e n c i l l a : [ e x p r e s i ó n f o r
e l e m e n t o i n l i s t a ]
Parte Significado Ejemplo
Expresión
Lo que quieres hacer con cada
elemento.
i * 2 (multiplicar por 2)
for
La palabra mágica que inicia el
bucle.
for
elemento
Una variable temporal para cada
elemento de la lista.
i
in lista
La lista original que quieres
recorrer.
números
Exportar a Hojas de cálculo
PYTHON
La hechicera del código
C l a r o , t e e x p l i c o e l c o n c e p t o d e L i s t
C o m p r e h e n s i o n d e m a n e r a m u y s i m p l e .
¿ Q u é e s L i s t C o m p r e h e n s i o n ?
I m a g i n a q u e t i e n e s q u e h a c e r u n a l i s t a n u e v a a
p a r t i r d e u n a l i s t a q u e y a t i e n e s .
T r a d i c i o n a l m e n t e , l o h a r í a s c o n u n b u c l e f o r ,
c o m o s i e s t u v i e r a s l l e n a n d o u n a c a n a s t a u n o p o r
u n o .
L i s t C o m p r e h e n s i o n e s c o m o u n a m á q u i n a m á g i c a
q u e h a c e l o m i s m o , p e r o e n u n a s o l a l í n e a d e
c ó d i g o , m á s r á p i d o y d e f o r m a m á s e l e g a n t e . E s
u n a m a n e r a " i n t e l i g e n t e " d e c r e a r l i s t a s .
C ó m o f u n c i o n a ( L a r e c e t a m á g i c a )
L a e s t r u c t u r a e s m u y s e n c i l l a : [ e x p r e s i ó n f o r
e l e m e n t o i n l i s t a ]
P a r t e S i g n i f i c a d o E j e m p l o
E x p r e s i ó n L o q u e q u i e r e s h a c e r c o n c a d a
e l e m e n t o . i * 2 ( m u l t i p l i c a r p o r 2 )
f o r L a p a l a b r a m á g i c a q u e i n i c i a e l b u c l e . f o r
e l e m e n t o U n a v a r i a b l e t e m p o r a l p a r a c a d a
e l e m e n t o d e l a l i s t a . i
i n l i s t a L a l i s t a o r i g i n a l q u e q u i e r e s r e c o r r e r .
n u m e r o s
E x p o r t a r a H o j a s d e c á l c u l o
E j e m p l o : S i n L i s t C o m p r e h e n s i o n v s . C o n L i s t
C o m p r e h e n s i o n
S u p o n g a m o s q u e t i e n e s u n a l i s t a d e n ú m e r o s y
q u i e r e s c r e a r u n a n u e v a l i s t a c o n c a d a n ú m e r o
m u l t i p l i c a d o p o r 2 .
M é t o d o 1 : U s a n d o u n b u c l e f o r ( L a f o r m a
t r a d i c i o n a l )
PYTHON
La hechicera del código
P Y T H O N
P Y T H O N
n u m e r o s = [ 1 , 2 , 3 , 4 , 5 ]
n u m e r o s _ d o b l e = [ ] # L i s t a v a c í a p a r a
g u a r d a r l o s r e s u l t a d o s
f o r n u m e r o i n n u m e r o s :
n u m e r o s _ d o b l e . a p p e n d ( n u m e r o * 2 )
p r i n t ( n u m e r o s _ d o b l e )
# S a l i d a : [ 2 , 4 , 6 , 8 , 1 0 ]
n u m e r o s = [ 1 , 2 , 3 , 4 , 5 ]
n u m e r o s _ d o b l e = [ n u m e r o * 2 f o r n u m e r o i n
n u m e r o s ]
p r i n t ( n u m e r o s _ d o b l e )
# S a l i d a : [ 2 , 4 , 6 , 8 , 1 0 ]
M é t o d o 2 : U s a n d o L i s t C o m p r e h e n s i o n ( L a f o r m a
m á g i c a )
C o m o p u e d e s v e r , L i s t C o m p r e h e n s i o n l o g r a e l m i s m o
r e s u l t a d o d e u n a m a n e r a m u c h o m á s l i m p i a y
c o m p a c t a . E s u n a h e r r a m i e n t a m u y p o d e r o s a y c o m ú n
e n P y t h o n .
PYTHON
La hechicera del código
5. Funciones
F u n c i o n e s : E l a r t e d e o r g a n i z a r t u c ó d i g o
C l a r o , c o n g u s t o t e o f r e z c o u n r e s u m e n d e e s t o s
c o n c e p t o s c l a v e e n P y t h o n .
F u n c i o n e s : E l a r t e d e o r g a n i z a r t u c ó d i g o
L a s f u n c i o n e s s o n c o m o r e c e t a s q u e a g r u p a n u n
c o n j u n t o d e i n s t r u c c i o n e s . E n l u g a r d e e s c r i b i r e l
m i s m o c ó d i g o u n a y o t r a v e z , l o p o n e s e n u n a
f u n c i ó n y l a l l a m a s c u a n d o l a n e c e s i t a s .
Concepto Descripción
Crear funciones (def)
Usas la palabra def para definir tu "receta" y le das un
nombre. Todo lo que esté dentro de la función (con
sangría) es parte de ella.
return y funciones dinámicas
Con return, tu función puede entregar un resultado. Es
como si una calculadora te "devuelve" el número que
calculó. Esto las hace dinámicas, ya que pueden generar
un resultado diferente cada vez que las llamas con
distintos datos.
Interacción entre funciones
Una función puede llamar a otra función. Es como si una
receta principal te dijera: "Ahora, sigue la receta del
pastel, y cuando termines, trae el resultado para
continuar".
PYTHON
La hechicera del código
A r g u m e n t o s y f l e x i b i l i d a d
H e r r a m i e n t a s c l a v e
L o s a r g u m e n t o s s o n l o s i n g r e d i e n t e s q u e l e d a s a
u n a f u n c i ó n p a r a q u e t r a b a j e .
Concepto Descripción
*args (Argumentos indefinidos)
Te permite pasar un número variable de argumentos a
una función. Python los agrupa en una tupla. Es como si
una receta dijera: "Necesito especias, ¡puedes darme
tantas como quieras!".
**kwargs (Argumentos de
palabra clave)
Similar a *args, pero para argumentos que tienen un
nombre (clave=valor). Python los agrupa en un
diccionario. Es como si la receta dijera: "Dame los
ingredientes con su nombre: sal=una_pizca,
azucar=una_cucharada".
Concepto Descripción
Funciones anónimas (lambda)
Son funciones muy cortas que puedes definir en una sola
línea, sin darles un nombre formal. Son útiles para tareas
rápidas y simples.
Documentación (help() y __doc__)
Python te permite documentar tu código. __doc__ es
donde guardas la descripción de la función, y help() es la
herramienta que te ayuda a leer esa documentación. Es
como un manual de usuario para tu código.
PYTHON
La hechicera del código
6. Manejo de Archivos y
Directorios
📂 M a n e j o d e A r c h i v o s y D i r e c t o r i o s
E s t o s c o n c e p t o s t e p e r m i t e n q u e t u s p r o g r a m a s i n t e r a c t ú e n
c o n a r c h i v o s y c a r p e t a s e n t u c o m p u t a d o r a , c o m o s i f u e r a n
u n b i b l i o t e c a r i o y u n a r c h i v a d o r .
A b r i r y L e e r A r c h i v o s ( o p e n ( ) , r e a d ( ) , w r i t e ( ) , w i t h ) :
o p e n ( ) e s l a f u n c i ó n q u e t e p e r m i t e a b r i r u n a r c h i v o . L e
d i c e s e l n o m b r e y s i q u i e r e s l e e r l o ( ' r ' ) o e s c r i b i r e n é l
( ' w ' ) .
r e a d ( ) e s p a r a l e e r e l c o n t e n i d o d e l a r c h i v o .
w r i t e ( ) e s p a r a e s c r i b i r n u e v o c o n t e n i d o .
w i t h : E s l a f o r m a r e c o m e n d a d a d e t r a b a j a r c o n a r c h i v o s .
S e a s e g u r a d e q u e e l a r c h i v o s e c i e r r e a u t o m á t i c a m e n t e ,
i n c l u s o s i h a y e r r o r e s . E s c o m o s i e l b i b l i o t e c a r i o s i e m p r e
p u s i e r a e l l i b r o e n s u l u g a r c u a n d o t e r m i n a s d e u s a r l o .
M a n i p u l a r D i r e c t o r i o s ( o s , p a t h l i b ) :
S o n m ó d u l o s ( b i b l i o t e c a s ) d e P y t h o n q u e t e d a n
h e r r a m i e n t a s p a r a t r a b a j a r c o n c a r p e t a s y r u t a s d e
a r c h i v o s .
o s e s e l m ó d u l o t r a d i c i o n a l y t e p e r m i t e c r e a r , b o r r a r y
m o v e r d i r e c t o r i o s .
p a t h l i b e s e l m ó d u l o m o d e r n o , m á s s e n c i l l o e i n t u i t i v o , q u e
r e p r e s e n t a l a s r u t a s c o m o o b j e t o s p a r a m a n i p u l a r l a s d e
f o r m a m á s s e g u r a .
E j e m p l o d e A r q u i t e c t u r a d e D i r e c t o r i o s :
L a a r q u i t e c t u r a q u e m e n c i o n a s
( C :  U s e r s  I s e l a  P y t h o n P r o j e c t s  ) e s u n a f o r m a d e
o r g a n i z a r t u p r o y e c t o d e m a n e r a o r d e n a d a , s e p a r a n d o e l
c ó d i g o p r i n c i p a l ( m a i n . p y ) , l o s d a t o s ( d a t a / ) , l a s
i m á g e n e s ( i m a g e s / ) y l o s m ó d u l o s d e a y u d a ( m o d u l e s / ) .
E s t o e s u n a b u e n a p r á c t i c a p a r a p r o y e c t o s g r a n d e s .
L i m p i a r C o n s o l a ( o s . s y s t e m ( ' c l s ' o r ' c l e a r ' ) ) :
E s t a f u n c i ó n e j e c u t a u n c o m a n d o d e l s i s t e m a o p e r a t i v o .
E n W i n d o w s , o s . s y s t e m ( ' c l s ' ) b o r r a l a p a n t a l l a .
E n s i s t e m a s c o m o L i n u x o m a c O S , u s a s o s . s y s t e m ( ' c l e a r ' ) .
E s ú t i l p a r a m a n t e n e r l a s a l i d a d e l p r o g r a m a o r d e n a d a y
f á c i l d e l e e r .
PYTHON
La hechicera del código
P Y T H O N
C :  U s e r s  I s e l a  P y t h o n P r o j e c t s 
├── m a i n . p y
├── d a t a 
│ ├── d a t a s e t . c s v
│ └── n o t e s . t x t
├── i m a g e s 
│ ├── l o g o . p n g
│ └── p h o t o . j p g
└── m o d u l e s 
└── h e l p e r . p y
PYTHON
La hechicera del código
7. Programación Orientada a
Objetos (POO)
P r o g r a m a c i ó n O r i e n t a d a a O b j e t o s ( P O O )
L a P O O e s u n a f o r m a d e p r o g r a m a r q u e o r g a n i z a
e l c ó d i g o a l r e d e d o r d e " o b j e t o s " e n l u g a r d e s o l o
f u n c i o n e s y l ó g i c a . I m a g i n a u n o b j e t o c o m o
c u a l q u i e r c o s a d e l m u n d o r e a l , p o r e j e m p l o , u n
p e r r o 🐶.
C l a s e s y o b j e t o s
C l a s e : E s e l " m o l d e " o e l " p l a n o " p a r a c r e a r
o b j e t o s . D e s c r i b e q u é a t r i b u t o s y m é t o d o s
t e n d r á n . P o r e j e m p l o , l a c l a s e P e r r o d e f i n e q u e
t o d o s l o s p e r r o s t i e n e n u n c o l o r , u n n o m b r e y q u e
p u e d e n l a d r a r .
O b j e t o : E s u n a " i n s t a n c i a " o u n a " c o p i a "
e s p e c í f i c a d e l a c l a s e . E s e l p e r r o r e a l q u e
c r e a s t e a p a r t i r d e l m o l d e . U n o b j e t o p o d r í a s e r
m i _ p e r r o c o n e l n o m b r e " F i d o " y c o l o r " m a r r ó n " .
A t r i b u t o s y m é t o d o s
A t r i b u t o s : S o n l a s c a r a c t e r í s t i c a s o p r o p i e d a d e s
d e u n o b j e t o . S o n l o s d a t o s q u e l o d e s c r i b e n .
P a r a n u e s t r o p e r r o , l o s a t r i b u t o s s e r í a n n o m b r e ,
c o l o r , r a z a .
M é t o d o s : S o n l a s a c c i o n e s o c o m p o r t a m i e n t o s
q u e u n o b j e t o p u e d e r e a l i z a r . P a r a n u e s t r o p e r r o ,
l o s m é t o d o s s e r í a n l a d r a r ( ) , c o r r e r ( ) , c o m e r ( ) .
PYTHON
La hechicera del código
T i p o s d e m é t o d o s
M é t o d o s d e i n s t a n c i a : P e r t e n e c e n a u n o b j e t o
e s p e c í f i c o y n e c e s i t a n q u e e l o b j e t o e x i s t a p a r a s e r
u s a d o s .
M é t o d o s d e c l a s e : P e r t e n e c e n a l a c l a s e e n s í , n o a
u n a i n s t a n c i a e s p e c í f i c a . A f e c t a n a l a c l a s e
c o m p l e t a .
M é t o d o s e s t á t i c o s : S o n m é t o d o s q u e n o n e c e s i t a n n i
u n a i n s t a n c i a n i l a c l a s e p a r a f u n c i o n a r . S o n
f u n c i o n e s " n o r m a l e s " q u e s e a g r u p a n d e n t r o d e u n a
c l a s e p o r c o n v e n i e n c i a .
H e r e n c i a y h e r e n c i a e x t e n d i d a
H e r e n c i a : P e r m i t e q u e u n a c l a s e " h i j a " h e r e d e l o s
a t r i b u t o s y m é t o d o s d e u n a c l a s e " p a d r e " . P o r
e j e m p l o , u n a c l a s e G a t o y u n a c l a s e P e r r o p u e d e n
h e r e d a r d e u n a c l a s e A n i m a l q u e t i e n e l o s a t r i b u t o s
p a t a s y n o m b r e , y e l m é t o d o c o m e r ( ) .
H e r e n c i a e x t e n d i d a : L a c l a s e " h i j a " n o s o l o h e r e d a ,
s i n o q u e t a m b i é n p u e d e a ñ a d i r n u e v o s a t r i b u t o s o
m é t o d o s , o m o d i f i c a r l o s q u e h e r e d ó .
P o l i m o r f i s m o
E s l a c a p a c i d a d d e l o s o b j e t o s d e d i f e r e n t e s c l a s e s
p a r a r e s p o n d e r d e m a n e r a d i f e r e n t e a l m i s m o
m é t o d o . P o r e j e m p l o , s i t i e n e s u n m é t o d o
h a c e r _ s o n i d o ( ) , e l p e r r o r e s p o n d e r í a c o n u n " G u a u " y
e l g a t o c o n u n " M i a u " , a u n q u e a m b o s l l a m e n a l m i s m o
m é t o d o .
M é t o d o s e s p e c i a l e s
S o n m é t o d o s q u e s e l l a m a n a u t o m á t i c a m e n t e e n
c i e r t a s s i t u a c i o n e s y s u s n o m b r e s c o m i e n z a n y
t e r m i n a n c o n d o s g u i o n e s b a j o s ( _ _ ) .
_ _ i n i t _ _ : E l " c o n s t r u c t o r " . S e e j e c u t a c u a n d o c r e a s
u n o b j e t o . S e u s a p a r a i n i c i a l i z a r s u s a t r i b u t o s .
_ _ s t r _ _ : D e v u e l v e u n a r e p r e s e n t a c i ó n d e l o b j e t o e n
f o r m a d e c a d e n a d e t e x t o , i d e a l p a r a i m p r i m i r l o y q u e
s e a l e g i b l e p a r a e l u s u a r i o .
_ _ l e n _ _ : D e v u e l v e l a l o n g i t u d d e l o b j e t o c u a n d o
u s a s l a f u n c i ó n l e n ( ) .
PYTHON
La hechicera del código
8. Paquetes, Módulos y Librerías
P a q u e t e s , M ó d u l o s y L i b r e r í a s
E s t o s s o n c o n c e p t o s c l a v e p a r a o r g a n i z a r y
r e u t i l i z a r c ó d i g o e n P y t h o n . P i e n s a e n e l l o s c o m o
p i e z a s d e u n s e t d e c o n s t r u c c i ó n q u e p u e d e s
u s a r e n t u s p r o y e c t o s .
M ó d u l o : U n s i m p l e a r c h i v o d e P y t h o n ( . p y ) q u e
c o n t i e n e f u n c i o n e s , c l a s e s y v a r i a b l e s . E s l a
u n i d a d m á s b á s i c a .
P a q u e t e : U n a c o l e c c i ó n d e m ó d u l o s o r g a n i z a d o s
e n d i r e c t o r i o s ( c a r p e t a s ) . U n p a q u e t e t e a y u d a a
e s t r u c t u r a r p r o y e c t o s g r a n d e s .
L i b r e r í a : U n t é r m i n o m á s a m p l i o q u e s e u s a p a r a
r e f e r i r s e a u n a c o l e c c i ó n d e m ó d u l o s y p a q u e t e s
q u e h a c e n u n a t a r e a e s p e c í f i c a .
U s o p r á c t i c o :
I n s t a l a r p a q u e t e s ( p i p i n s t a l l ) : p i p e s l a
h e r r a m i e n t a e s t á n d a r p a r a d e s c a r g a r e i n s t a l a r
p a q u e t e s d e o t r a s p e r s o n a s . P o r e j e m p l o , p i p
i n s t a l l n u m p y t e p e r m i t e u s a r l a l i b r e r í a n u m p y .
C r e a r y u s a r m ó d u l o s p r o p i o s : S i t i e n e s u n
a r c h i v o u t i l i d a d e s . p y c o n u n a f u n c i ó n , p u e d e s
u s a r l o e n t u p r o g r a m a p r i n c i p a l c o n l a l í n e a
i m p o r t u t i l i d a d e s .
I m p o r t a r l i b r e r í a s e s t á n d a r : P y t h o n y a t r a e
m u c h a s l i b r e r í a s l i s t a s p a r a u s a r , c o m o m a t h
p a r a m a t e m á t i c a s o r a n d o m p a r a n ú m e r o s
a l e a t o r i o s . S o l o n e c e s i t a s i m p o r t a r l a s : i m p o r t
r a n d o m .
PYTHON
La hechicera del código
M ó d u l o s a v a n z a d o s
E s t o s s o n a l g u n o s d e l o s m ó d u l o s m á s ú t i l e s
q u e v i e n e n c o n P y t h o n :
c o l l e c t i o n s : H e r r a m i e n t a s p a r a t i p o s d e d a t o s
e s p e c i a l i z a d o s . P o r e j e m p l o , C o u n t e r q u e
c u e n t a l a f r e c u e n c i a d e e l e m e n t o s e n u n a
l i s t a , o d e f a u l t d i c t q u e t e a y u d a a t r a b a j a r
c o n d i c c i o n a r i o s d e f o r m a m á s s e n c i l l a .
o s y s h u t i l : M ó d u l o s p a r a i n t e r a c t u a r c o n e l
s i s t e m a o p e r a t i v o . o s e s p a r a m a n e j a r
d i r e c t o r i o s y a r c h i v o s , m i e n t r a s q u e s h u t i l e s
p a r a o p e r a c i o n e s d e a l t o n i v e l , c o m o c o p i a r o
m o v e r a r c h i v o s y c a r p e t a s d e f o r m a s e g u r a .
r e ( e x p r e s i o n e s r e g u l a r e s ) : U n m ó d u l o m u y
p o d e r o s o p a r a b u s c a r , m a n i p u l a r y v a l i d a r
p a t r o n e s e n c a d e n a s d e t e x t o . E s ú t i l p a r a ,
p o r e j e m p l o , v a l i d a r u n c o r r e o e l e c t r ó n i c o o
u n n ú m e r o d e t e l é f o n o .
z i p f i l e : T e p e r m i t e c o m p r i m i r y d e s c o m p r i m i r
a r c h i v o s e n f o r m a t o Z I P . E s m u y ú t i l p a r a
m a n e j a r g r a n d e s v o l ú m e n e s d e d a t o s .
PYTHON
La hechicera del código
9. Testing y Depuración
E s t a e s l a f a s e e n l a q u e r e v i s a s y a r r e g l a s t u
c ó d i g o p a r a q u e f u n c i o n e c o r r e c t a m e n t e y s i n
e r r o r e s . E s c o m o u n d e t e c t i v e q u e b u s c a p i s t a s
p a r a e n c o n t r a r f a l l a s .
Concepto Descripción
Manejo de errores (try, except,
finally)
Es una forma de "probar" tu código de manera segura.
<br>• try: Pones aquí el código que podría fallar. <br>•
except: Si algo falla en try, el programa va a except para
ejecutar un código alternativo (por ejemplo, mostrar un
mensaje de error legible). <br>• finally: Este código
siempre se ejecuta, sin importar si hubo un error o no.
Es útil para cerrar archivos o limpiar recursos.
Buscar errores con pylint
Es una herramienta que revisa tu código y te da
sugerencias para mejorarlo. No solo encuentra errores,
sino que también te ayuda a seguir un estilo de
codificación limpio y profesional, haciendo que sea más
fácil de leer para otras personas.
Pruebas unitarias con unittest
Las pruebas unitarias son pequeñas pruebas
automatizadas que verifican si una parte específica de
tu código (una "unidad", como una función) funciona
como esperas. unittest es una librería estándar de
Python que te ayuda a escribir y ejecutar estas pruebas
de forma organizada.
PYTHON
La hechicera del código
10. Temas Avanzados
E s t o s c o n c e p t o s t e l l e v a n m á s a l l á d e l o b á s i c o ,
p e r m i t i é n d o t e e s c r i b i r c ó d i g o m á s p o t e n t e ,
f l e x i b l e y o p t i m i z a d o .
Concepto Descripción
Decoradores
Son funciones que "envuelven" a otras funciones para
añadirles una funcionalidad extra sin modificar su
código original. Por ejemplo, puedes crear un decorador
para medir cuánto tiempo tarda en ejecutarse una
función.
Generadores (yield)
Son como funciones que pausan su ejecución y
"devuelven" un valor temporalmente. Usan la palabra
clave yield. Son muy eficientes para trabajar con
grandes cantidades de datos, ya que no guardan toda la
información en memoria al mismo tiempo.
Medir el tiempo de ejecución
(time, timeit)
Estos módulos te permiten saber qué tan rápido (o
lento) es tu código. time es útil para medir tiempos de
forma simple, mientras que timeit es más preciso y está
diseñado para probar fragmentos de código.
Tkinter – GUI básica
Es la librería estándar de Python para crear interfaces
gráficas de usuario (GUI). Te permite diseñar ventanas,
botones, campos de texto y otros elementos para que tu
programa sea más interactivo para el usuario.
Extraer elementos de una clase
(__dict__, getattr)
Son herramientas para inspeccionar objetos. __dict__ es
un diccionario que contiene todos los atributos de un
objeto, y getattr() es una función que te permite acceder
a los atributos de un objeto usando su nombre como una
cadena de texto.
Extraer imágenes con librerías
externas
Para tareas más complejas como extraer imágenes de
un PDF, manipular fotos o generar gráficos, Python se
apoya en librerías de terceros (que se instalan con pip),
como Pillow. Estas bibliotecas extienden las capacidades
del lenguaje de forma poderosa.
PYTHON
La hechicera del código
11.Manejo de entornos virtuales
(venv)
I m a g i n a q u e e s t á s t r a b a j a n d o e n d i f e r e n t e s
p r o y e c t o s , y c a d a u n o n e c e s i t a u n c o n j u n t o d e
h e r r a m i e n t a s d i s t i n t o . P o r e j e m p l o :
E l P r o y e c t o A n e c e s i t a l a v e r s i ó n 1 d e u n a
h e r r a m i e n t a l l a m a d a " P a n d a s " .
E l P r o y e c t o B n e c e s i t a l a v e r s i ó n 2 d e e s a m i s m a
h e r r a m i e n t a .
S i i n s t a l a s l a s h e r r a m i e n t a s e n t u c o m p u t a d o r a
d e f o r m a g l o b a l , p o d r í a s c a u s a r u n c o n f l i c t o , y a
q u e u n a v e r s i ó n p o d r í a " p i s a r " a l a o t r a .
U n e n t o r n o v i r t u a l e s c o m o c r e a r u n a c a j a d e
h e r r a m i e n t a s e x c l u s i v a y a i s l a d a p a r a c a d a
p r o y e c t o . E s u n e s p a c i o p r i v a d o d o n d e p u e d e s
i n s t a l a r l a s l i b r e r í a s q u e n e c e s i t a s s i n q u e
a f e c t e n a t u s o t r o s p r o y e c t o s o a l a i n s t a l a c i ó n
g l o b a l d e P y t h o n e n t u c o m p u t a d o r a .
PYTHON
La hechicera del código
Sin Entorno Virtual Con Entorno Virtual
Concepto
Todas las herramientas están en
un solo lugar (tu "caja de
herramientas principal").
Cada proyecto tiene su propia
caja de herramientas privada.
Riesgo
Los proyectos pueden interferir
entre sí.
Los proyectos están aislados y no
se afectan.
Organización
Difícil de gestionar las
dependencias de cada proyecto.
Fácil de replicar y compartir un
proyecto con todas sus
dependencias.
Exportar a Hojas de cálculo
Comando Descripción
python -m venv nombre_del_entorno
Crea una nueva "caja de herramientas" (un
entorno virtual).
source
nombre_del_entorno/bin/activate
En Mac/Linux: Activa el entorno virtual para que
puedas usarlo.
nombre_del_entornoScriptsactivate En Windows: Activa el entorno virtual.
pip install nombre_de_libreria
Instala una librería, pero solo dentro de la caja de
herramientas de tu proyecto.
deactivate
Te saca del entorno virtual y te regresa a tu
instalación global de Python.
PYTHON
La hechicera del código
12.Buenas prácticas y estilo de
código (PEP8)
L a s b u e n a s p r á c t i c a s y e l e s t i l o d e c ó d i g o
( P E P 8 ) s o n u n c o n j u n t o d e r e g l a s y
r e c o m e n d a c i o n e s p a r a e s c r i b i r c ó d i g o e n
P y t h o n q u e s e a m á s l e g i b l e , l i m p i o y
c o n s i s t e n t e . E s c o m o l a g u í a d e e s t i l o
p a r a e s c r i b i r d e f o r m a p r o f e s i o n a l y
o r d e n a d a .
¿ P o r q u é s o n i m p o r t a n t e s ?
L e g i b i l i d a d : U n c ó d i g o l i m p i o e s m u c h o
m á s f á c i l d e l e e r , e n t e n d e r y m a n t e n e r ,
t a n t o p a r a t i c o m o p a r a o t r o s
p r o g r a m a d o r e s .
C o n s i s t e n c i a : S i t o d o s s i g u e n l a s m i s m a s
r e g l a s , e l c ó d i g o s e v e u n i f o r m e , s i n
i m p o r t a r q u i é n l o h a y a e s c r i t o .
C o l a b o r a c i ó n : F a c i l i t a e l t r a b a j o e n
e q u i p o , y a q u e n o t i e n e s q u e d e s c i f r a r u n
e s t i l o d e c o d i f i c a c i ó n d i f e r e n t e e n c a d a
p r o y e c t o .
P r i n c i p a l e s r e c o m e n d a c i o n e s d e l a P E P 8
PYTHON
La hechicera del código
Regla Descripción Ejemplo de la vida real
GUI
Significa Graphical User Interface.
Es lo que te permite interactuar
con un programa usando
elementos visuales como
ventanas, iconos, menús, etc., en
lugar de solo escribir comandos.
La pantalla de tu celular o la
ventana de un programa en tu
computadora.
Tkinter
Es la librería estándar de Python
para construir esas GUI. Piensa en
ella como una caja de
herramientas con todas las piezas
(ventanas, botones, etiquetas)
que necesitas.
Un set de LEGO para construir
casas pequeñas.
Ventana (root)
Es el contenedor principal de tu
programa. Como el marco de una
fotografía donde irán todos los
demás elementos.
La pantalla completa de una
aplicación.
Widgets
Son los "elementos" que pones
dentro de la ventana. Cada botón,
cada etiqueta, cada caja de texto
es un widget.
Los botones, perillas o pantallas
de un radio.
Eventos
Son las acciones que el usuario
realiza (hacer clic en un botón,
escribir en una caja). Tkinter te
permite que tu programa
"reaccione" a estos eventos.
Cuando presionas un botón en tu
celular y algo sucede.
PYTHON
La hechicera del código
13.Tkinter (GUI)
T k i n t e r : C o n s t r u y e n d o v e n t a n a s y b o t o n e s p a r a
t u s p r o g r a m a s
I m a g i n a q u e q u i e r e s q u e t u p r o g r a m a d e P y t h o n
n o s e a s o l o t e x t o e n u n a p a n t a l l a n e g r a , s i n o
q u e t e n g a u n a v e n t a n a b o n i t a c o n b o t o n e s q u e
p u e d a s p r e s i o n a r , c a j a s d o n d e e s c r i b i r t e x t o y
e t i q u e t a s q u e m u e s t r e n i n f o r m a c i ó n .
T k i n t e r e s e l " k i t d e c o n s t r u c c i ó n " q u e P y t h o n y a
t r a e i n c o r p o r a d o p a r a h a c e r p r e c i s a m e n t e e s o :
c r e a r I n t e r f a c e s G r á f i c a s d e U s u a r i o ( G U I ) .
PYTHON
La hechicera del código
Regla Descripción
Sangría
Usa 4 espacios por cada nivel de sangría. Nunca uses
tabulaciones.
Longitud de línea
Limita cada línea a un máximo de 79 caracteres. Esto
hace que el código sea fácil de leer en cualquier
pantalla.
Nombres de variables
Usa nombres descriptivos en minúsculas, separados
por guiones bajos (_). Por ejemplo:
nombre_de_usuario.
Nombres de funciones
Sigue las mismas reglas que para las variables.
Ejemplo: calcular_total().
Nombres de clases
Usa el formato "CamelCase" (cada palabra con
mayúscula inicial). Ejemplo: MiClaseDeEjemplo.
Espacios en blanco
Añade espacios alrededor de los operadores (=, +, -) y
después de las comas.
Comentarios
Mantén los comentarios claros y concisos, y úsalos
para explicar por qué el código hace algo, no qué hace.
Líneas en blanco
Usa líneas en blanco para separar funciones y bloques
lógicos de código.
PYTHON
La hechicera del código
P Y T H O N
i m p o r t t k i n t e r a s t k # I m p o r t a m o s e l " k i t d e c o n s t r u c c i ó n "
v e n t a n a = t k . T k ( ) # C r e a m o s n u e s t r a p r i m e r a v e n t a n a ( e l m a r c o )
v e n t a n a . t i t l e ( " M i P r i m e r a A p p " ) # L e p o n e m o s u n t í t u l o a l a v e n t a n a
e t i q u e t a = t k . L a b e l ( v e n t a n a , t e x t = " ¡ H o l a , m u n d o ! " ) # C r e a m o s u n a
e t i q u e t a d e t e x t o
e t i q u e t a . p a c k ( ) # C o l o c a m o s l a e t i q u e t a d e n t r o d e l a v e n t a n a
b o t o n = t k . B u t t o n ( v e n t a n a , t e x t = " H a z c l i c " ) # C r e a m o s u n b o t ó n
b o t o n . p a c k ( ) # C o l o c a m o s e l b o t ó n
v e n t a n a . m a i n l o o p ( ) # H a c e m o s q u e l a v e n t a n a s e q u e d e a b i e r t a y
e s p e r a n d o q u e e l u s u a r i o h a g a a l g o
C u a n d o e j e c u t e s e s t e c ó d i g o , ¡ a p a r e c e r á u n a
p e q u e ñ a v e n t a n a c o n e l t e x t o " ¡ H o l a , m u n d o ! " y
u n b o t ó n !
E n r e s u m e n , T k i n t e r t e p e r m i t e d a r l e u n a " c a r a "
v i s u a l a t u s p r o g r a m a s d e P y t h o n , h a c i é n d o l o s
m u c h o m á s a m i g a b l e s e i n t e r a c t i v o s p a r a
c u a l q u i e r p e r s o n a .
¿ C ó m o s e v e e n P y t h o n ( e j e m p l o m u y s i m p l e ) ?
PYTHON
La hechicera del código
14.Extraer imágenes
(Pillow)
P i l l o w : L a f o r m a f á c i l d e t r a b a j a r c o n i m á g e n e s
e n P y t h o n
P i l l o w e s u n a d e l a s l i b r e r í a s m á s p o p u l a r e s y
p o d e r o s a s e n P y t h o n p a r a a b r i r , m a n i p u l a r y
g u a r d a r i m á g e n e s e n d i f e r e n t e s f o r m a t o s . P i e n s a
e n e l l a c o m o u n e d i t o r d e i m á g e n e s s ú p e r
p o t e n t e , p e r o e n f o r m a d e c ó d i g o .
P a s o a p a s o p a r a e x t r a e r u n a i m a g e n
E l p r o c e s o g e n e r a l p a r a t r a b a j a r c o n i m á g e n e s
u s a n d o P i l l o w e s m u y s e n c i l l o :
1 . I n s t a l a c i ó n
P r i m e r o , n e c e s i t a s i n s t a l a r l a l i b r e r í a . C o m o n o
v i e n e i n c l u i d a c o n P y t h o n , d e b e s u s a r p i p :
p i p i n s t a l l P i l l o w
2 . C a r g a r l a i m a g e n
P a r a a b r i r u n a r c h i v o d e i m a g e n , u s a s l a f u n c i ó n
I m a g e . o p e n ( ) .
PYTHON
La hechicera del código
P Y T H O N
P Y T H O N
f r o m P I L i m p o r t I m a g e
# R e e m p l a z a ' n o m b r e _ d e _ m i _ i m a g e n . j p g '
c o n l a r u t a d e t u a r c h i v o
i m a g e n =
I m a g e . o p e n ( ' n o m b r e _ d e _ m i _ i m a g e n . j p g ' )
# D e f i n i m o s l a s c o o r d e n a d a s p a r a e l
r e c o r t e ( i z q u i e r d a , a r r i b a , d e r e c h a , a b a j o )
c a j a _ d e _ r e c o r t e = ( 1 0 0 , 1 0 0 , 4 0 0 , 4 0 0 )
# E x t r a e m o s l a p a r t e d e l a i m a g e n d e n t r o
d e e s a c a j a
i m a g e n _ e x t r a i d a =
i m a g e n . c r o p ( c a j a _ d e _ r e c o r t e )
3 . M a n i p u l a r o e x t r a e r ( o p c i o n a l )
U n a v e z q u e l a i m a g e n e s t á c a r g a d a e n u n a
v a r i a b l e , p u e d e s h a c e r m u c h a s c o s a s c o n e l l a .
P o r e j e m p l o , p a r a e x t r a e r u n a p a r t e d e l a
i m a g e n , u s a s e l m é t o d o c r o p ( ) .
PYTHON
La hechicera del código
4 . G u a r d a r l a i m a g e n
F i n a l m e n t e , s i q u i e r e s g u a r d a r l a i m a g e n
m o d i f i c a d a o e x t r a í d a , u s a s e l m é t o d o s a v e ( ) .
P Y T H O N
# G u a r d a m o s l a i m a g e n e x t r a í d a c o n u n
n u e v o n o m b r e
i m a g e n _ e x t r a i d a . s a v e ( ' m i _ n u e v a _ i m a g e n . p
n g ' )
R e s u m e n :
P a s o 1 : I n s t a l a P i l l o w .
P a s o 2 : A b r e l a i m a g e n c o n I m a g e . o p e n ( ) .
P a s o 3 : U s a c r o p ( ) p a r a e x t r a e r l a p a r t e q u e t e
i n t e r e s a .
P a s o 4 : G u a r d a e l r e s u l t a d o c o n s a v e ( ) .
P i l l o w e s l a h e r r a m i e n t a p e r f e c t a p a r a c u a l q u i e r
t a r e a r e l a c i o n a d a c o n i m á g e n e s q u e n e c e s i t e s
h a c e r c o n P y t h o n , d e s d e e x t r a e r p a r t e s h a s t a
r e d i m e n s i o n a r , r o t a r o a p l i c a r f i l t r o s .
P a n d a s : E l E x c e l d e P y t h o n p a r a a n a l i z a r d a t o s 📊
I m a g i n a q u e t i e n e s u n a g r a n c a n t i d a d d e d a t o s ,
c o m o u n a t a b l a d e E x c e l c o n f i l a s y c o l u m n a s .
P a n d a s e s l a l i b r e r í a d e P y t h o n q u e t e p e r m i t e
t r a b a j a r c o n e s o s d a t o s d e f o r m a m u y e f i c i e n t e ,
c o m o s i f u e r a u n s u p e r p o d e r o s o E x c e l
p r o g r a m a b l e .
E s t r u c t u r a s d e d a t o s c l a v e d e P a n d a s
P a n d a s s e b a s a e n d o s e s t r u c t u r a s d e d a t o s
p r i n c i p a l e s :
1 . S e r i e s
U n a S e r i e s e s c o m o u n a s o l a c o l u m n a d e u n a
t a b l a d e E x c e l . E s u n a l i s t a d e d a t o s c o n u n
í n d i c e .
E j e m p l o : U n a l i s t a d e l a s e d a d e s d e v a r i a s
p e r s o n a s .
PYTHON
La hechicera del código
15.Pandas
Manipulación de
datos
2 . D a t a F r a m e
U n D a t a F r a m e e s c o m o u n a t a b l a c o m p l e t a d e
E x c e l , c o n f i l a s y c o l u m n a s . E s l a e s t r u c t u r a m á s
u s a d a e n P a n d a s y e s i d e a l p a r a d a t o s t a b u l a r e s .
E j e m p l o : U n a t a b l a c o n n o m b r e s , e d a d e s y
c i u d a d e s d e p e r s o n a s .
Nombre Edad Ciudad
0 Simba 1 Simbalandia
1 Luffy 13 One Pice
2 Inaya 128 Nevermore
PYTHON
La hechicera del código
¿ P a r a q u é s e u s a P a n d a s ?
P a n d a s e s l a h e r r a m i e n t a f u n d a m e n t a l p a r a e l
a n á l i s i s d e d a t o s . T e p e r m i t e :
L e e r d a t o s : P u e d e l e e r a r c h i v o s d e m u c h o s
f o r m a t o s ( C S V , E x c e l , J S O N , e t c . ) y c o n v e r t i r l o s e n
u n D a t a F r a m e .
L i m p i a r d a t o s : T e a y u d a a e n c o n t r a r y m a n e j a r
d a t o s f a l t a n t e s , d u p l i c a d o s o i n c o r r e c t o s .
F i l t r a r y s e l e c c i o n a r : P u e d e s b u s c a r y s e l e c c i o n a r
f i l a s o c o l u m n a s e s p e c í f i c a s c o n g r a n f a c i l i d a d .
A g r u p a r y r e s u m i r : T e p e r m i t e h a c e r c á l c u l o s c o m o
p r o m e d i o s , s u m a s o c o n t a r e l e m e n t o s , a g r u p a n d o
l a i n f o r m a c i ó n p o r c a t e g o r í a s .
E n r e s u m e n , s i t r a b a j a s c o n d a t o s e n f o r m a d e
t a b l a s , P a n d a s e s l a h e r r a m i e n t a e s e n c i a l q u e t e
a h o r r a r á m u c h í s i m o t i e m p o y t e p e r m i t i r á h a c e r
a n á l i s i s c o m p l e j o s d e m a n e r a p r o g r a m á t i c a .
PYTHON
La hechicera del código
E j e m p l o d e u s o d e P a n d a s : U n l i s t a d o d e
p r o d u c t o s
I m a g i n a q u e t i e n e s u n a l i s t a d e p r o d u c t o s e n t u
t i e n d a y q u i e r e s a n a l i z a r l o s . E n l u g a r d e u s a r u n a
h o j a d e c á l c u l o , l o h a r á s c o n c ó d i g o P y t h o n
u s a n d o P a n d a s .
P a s o 1 : I m p o r t a r l a l i b r e r í a P r i m e r o , n e c e s i t a s
i m p o r t a r P a n d a s , q u e p o r c o n v e n c i ó n s e u s a c o n
e l a l i a s p d .
P Y T H O N
i m p o r t p a n d a s a s p d
P a s o 2 : C r e a r e l D a t a F r a m e ( t u t a b l a d e d a t o s )
A h o r a , c r e a m o s u n d i c c i o n a r i o c o n l o s d a t o s .
C a d a c l a v e s e r á u n a c o l u m n a , y l o s v a l o r e s s e r á n
l o s d a t o s d e e s a c o l u m n a . L u e g o , u s a m o s
p d . D a t a F r a m e ( ) p a r a c o n v e r t i r l o e n u n a t a b l a d e
P a n d a s .
PYTHON
La hechicera del código
P Y T H O N
d a t o s = {
' P r o d u c t o ' : [ ' L a p t o p ' , ' M o u s e ' , ' T e c l a d o ' ,
' M o n i t o r ' , ' A u d í f o n o s ' ] ,
' P r e c i o ' : [ 1 2 0 0 , 2 5 , 7 5 , 3 0 0 , 5 0 ] ,
' S t o c k ' : [ 1 5 , 5 0 , 3 0 , 1 0 , 2 5 ]
}
d f = p d . D a t a F r a m e ( d a t o s )
p r i n t ( " T a b l a d e d a t o s ( D a t a F r a m e ) : " )
p r i n t ( d f )
Producto Precio Stock
0 Laptop 1200 15
1 Mouse 25 50
2 Teclado 75 30
3 Monitor 300 10
4 Audífonos 50 25
PYTHON
La hechicera del código
P a s o 3 : R e a l i z a r u n a n á l i s i s s i m p l e
A h o r a q u e t i e n e s l o s d a t o s e n u n D a t a F r a m e ,
p u e d e s h a c e r p r e g u n t a s y o b t e n e r r e s p u e s t a s
f á c i l m e n t e .
S e l e c c i o n a r u n a c o l u m n a :
P Y T H O N
P Y T H O N
# M u e s t r a s o l o l a c o l u m n a
' P r e c i o '
p r i n t ( "  n S o l o l a c o l u m n a d e
p r e c i o s : " )
p r i n t ( d f [ ' P r e c i o ' ] )
# M u e s t r a l o s p r o d u c t o s c o n u n
p r e c i o m e n o r a $ 1 0 0
p r i n t ( "  n P r o d u c t o s c o n p r e c i o
m e n o r a $ 1 0 0 : " )
p r o d u c t o s _ e c o n o m i c o s =
d f [ d f [ ' P r e c i o ' ] < 1 0 0 ]
p r i n t ( p r o d u c t o s _ e c o n o m i c o s )
F i l t r a r d a t o s :
PYTHON
La hechicera del código
C a l c u l a r u n a e s t a d í s t i c a :
P Y T H O N
# C a l c u l a e l p r e c i o p r o m e d i o d e
t o d o s l o s p r o d u c t o s
p r e c i o _ p r o m e d i o =
d f [ ' P r e c i o ' ] . m e a n ( )
p r i n t ( f "  n E l p r e c i o p r o m e d i o d e l o s
p r o d u c t o s e s : $ { p r e c i o _ p r o m e d i o } " )
C o m o p u e d e s v e r , P a n d a s t e p e r m i t e m a n i p u l a r
l o s d a t o s d e m a n e r a m u y i n t u i t i v a y p o d e r o s a ,
s i m i l a r a c o m o l o h a r í a s e n E x c e l , p e r o c o n l a
f l e x i b i l i d a d y e l p o d e r d e l a p r o g r a m a c i ó n .
PYTHON
La hechicera del código
16.Scikit-learn para
algoritmos de ML
S c i k i t - l e a r n : L a n a v a j a s u i z a d e l M a c h i n e L e a r n i n g 🤖
I m a g i n a q u e q u i e r e s e n s e ñ a r l e a u n a c o m p u t a d o r a a
r e c o n o c e r p a t r o n e s y t o m a r d e c i s i o n e s , c o m o p r e d e c i r e l
p r e c i o d e u n a c a s a o c l a s i f i c a r i m á g e n e s . E s e p r o c e s o s e
l l a m a a p r e n d i z a j e a u t o m á t i c o ( M L ) .
S c i k i t - l e a r n ( a m e n u d o a b r e v i a d o c o m o s k l e a r n ) e s l a
l i b r e r í a m á s p o p u l a r e n P y t h o n p a r a h a c e r p r e c i s a m e n t e e s o .
N o e s u n a l i b r e r í a p a r a c r e a r r e d e s n e u r o n a l e s c o m p l e j a s ,
s i n o q u e s e e s p e c i a l i z a e n l o s a l g o r i t m o s d e M L m á s c o m u n e s
y ú t i l e s , l o q u e l a h a c e p e r f e c t a p a r a p r i n c i p i a n t e s y
e x p e r t o s p o r i g u a l .
¿ Q u é p u e d e s h a c e r c o n S c i k i t - l e a r n ?
P u e d e s u s a r l a p a r a r e s o l v e r l o s p r o b l e m a s d e M L m á s
c o m u n e s :
C l a s i f i c a c i ó n : A g r u p a r d a t o s e n c a t e g o r í a s .
P o r e j e m p l o , c l a s i f i c a r c o r r e o s e l e c t r ó n i c o s c o m o " s p a m " o
" n o - s p a m " .
R e g r e s i ó n : P r e d e c i r u n v a l o r n u m é r i c o c o n t i n u o . P o r
e j e m p l o , p r e d e c i r e l p r e c i o d e u n a c a s a b a s á n d o s e e n s u
t a m a ñ o y u b i c a c i ó n .
C l u s t e r i n g : E n c o n t r a r g r u p o s o c u l t o s e n l o s d a t o s . P o r
e j e m p l o , a g r u p a r a c l i e n t e s c o n c o m p o r t a m i e n t o s d e
c o m p r a s i m i l a r e s p a r a s e g m e n t a r e l m e r c a d o .
R e d u c c i ó n d e d i m e n s i o n a l i d a d : S i m p l i f i c a r c o n j u n t o s d e
d a t o s m u y g r a n d e s .
¿ C ó m o s e u s a ?
S c i k i t - l e a r n t i e n e u n a e s t r u c t u r a m u y c o n s i s t e n t e y f á c i l d e
u s a r . E l p r o c e s o g e n e r a l p a r a l a m a y o r í a d e l o s m o d e l o s e s e l
s i g u i e n t e :
I m p o r t a r : I m p o r t a s l a c l a s e d e l m o d e l o q u e q u i e r e s u s a r .
I n s t a n c i a r : C r e a s u n a " i n s t a n c i a " d e l m o d e l o ( e l o b j e t o ) .
E n t r e n a r : U s a s e l m é t o d o . f i t ( ) p a r a " e n t r e n a r " e l m o d e l o
c o n t u s d a t o s .
P r e d e c i r : U s a s e l m é t o d o . p r e d i c t ( ) p a r a h a c e r
p r e d i c c i o n e s c o n n u e v o s d a t o s .
E j e m p l o S e n c i l l o d e C l a s i f i c a c i ó n
S u p o n g a m o s q u e q u i e r e s c l a s i f i c a r s i u n a f l o r e s u n a e s p e c i e
u o t r a b a s á n d o t e e n l a l o n g i t u d d e s u s p é t a l o s .
PYTHON
La hechicera del código
P Y T H O N
P Y T H O N
f r o m s k l e a r n . n e i g h b o r s i m p o r t K N e i g h b o r s C l a s s i f i e r
f r o m s k l e a r n . m o d e l _ s e l e c t i o n i m p o r t t r a i n _ t e s t _ s p l i t
f r o m s k l e a r n i m p o r t d a t a s e t s
# 1 . C a r g a r l o s d a t o s d e e j e m p l o
i r i s = d a t a s e t s . l o a d _ i r i s ( )
X , y = i r i s . d a t a , i r i s . t a r g e t
# 2 . S e p a r a r d a t o s p a r a e n t r e n a m i e n t o y p r u e b a
X _ e n t r e n a m i e n t o , X _ p r u e b a , y _ e n t r e n a m i e n t o , y _ p r u e b a =
t r a i n _ t e s t _ s p l i t ( X , y , t e s t _ s i z e = 0 . 3 )
# 3 . C r e a r e l m o d e l o d e c l a s i f i c a c i ó n ( K - v e c i n o s m á s
c e r c a n o s )
m o d e l o = K N e i g h b o r s C l a s s i f i e r ( )
# 4 . E n t r e n a r e l m o d e l o c o n l o s d a t o s d e e n t r e n a m i e n t o
m o d e l o . f i t ( X _ e n t r e n a m i e n t o , y _ e n t r e n a m i e n t o )
# 5 . H a c e r u n a p r e d i c c i ó n c o n u n n u e v o d a t o
n u e v a _ f l o r = [ [ 5 . 0 , 3 . 5 , 1 . 3 , 0 . 3 ] ]
p r e d i c c i o n = m o d e l o . p r e d i c t ( n u e v a _ f l o r )
p r i n t ( f " L a p r e d i c c i ó n e s :
{ i r i s . t a r g e t _ n a m e s [ p r e d i c c i o n [ 0 ] ] } " )
C o m o p u e d e s v e r , S c i k i t - l e a r n h a c e q u e s e a m u y
f á c i l i m p l e m e n t a r y e x p e r i m e n t a r c o n a l g o r i t m o s d e
M a c h i n e L e a r n i n g , s i m p l i f i c a n d o u n p r o c e s o q u e d e
o t r a f o r m a s e r í a m u y c o m p l e j o .
PYTHON
La hechicera del código
17.NumPy para
cálculos numéricos
N u m P y : E l p o d e r d e l o s n ú m e r o s p a r a P y t h o n 🚀
I m a g i n a q u e t i e n e s q u e h a c e r o p e r a c i o n e s
m a t e m á t i c a s m u y c o m p l e j a s c o n l i s t a s d e
n ú m e r o s , c o m o s i t u v i e r a s u n a t a b l a c o n m i l e s d e
d a t o s y q u i s i e r a s s u m a r l o s , r e s t a r l o s o
m u l t i p l i c a r l o s r á p i d a m e n t e .
P y t h o n p o r s í s o l o p u e d e h a c e r l o , p e r o e s l e n t o .
A h í e s d o n d e e n t r a N u m P y ( N u m e r i c a l P y t h o n ) .
N u m P y e s u n a l i b r e r í a f u n d a m e n t a l q u e l e d a a
P y t h o n u n s u p e r p o d e r p a r a t r a b a j a r c o n n ú m e r o s .
L o h a c e a t r a v é s d e u n a e s t r u c t u r a d e d a t o s
l l a m a d a n d a r r a y ( N - d i m e n s i o n a l a r r a y ) , q u e e s
c o m o u n a l i s t a , p e r o m u c h o m á s r á p i d a y
e f i c i e n t e p a r a o p e r a c i o n e s n u m é r i c a s .
¿ Q u é h a c e a N u m P y t a n e s p e c i a l ?
V e l o c i d a d : L o s n d a r r a y s d e N u m P y s o n m u c h o
m á s r á p i d o s q u e l a s l i s t a s d e P y t h o n p a r a
o p e r a c i o n e s m a t e m á t i c a s .
O p e r a c i o n e s V e c t o r i z a d a s : T e p e r m i t e a p l i c a r u n a
o p e r a c i ó n a u n a r r e g l o c o m p l e t o d e u n a s o l a v e z ,
s i n n e c e s i d a d d e u s a r b u c l e s f o r . P o r e j e m p l o ,
p u e d e s s u m a r d o s a r r e g l o s c o m p l e t o s c o n u n
s o l o s i g n o + .
F u n c i o n e s m a t e m á t i c a s : V i e n e c o n u n v a s t o
c o n j u n t o d e f u n c i o n e s m a t e m á t i c a s l i s t a s p a r a
u s a r , c o m o s e n o , c o s e n o , l o g a r i t m o s , e t c . , q u e s e
a p l i c a n a t o d o e l a r r e g l o .
E j e m p l o S e n c i l l o
I m a g i n a q u e q u i e r e s d u p l i c a r t o d o s l o s n ú m e r o s
e n u n a l i s t a .
S i n N u m P y ( U s a n d o u n a l i s t a n o r m a l d e P y t h o n )
PYTHON
La hechicera del código
P Y T H O N
l i s t a = [ 1 , 2 , 3 , 4 , 5 ]
l i s t a _ d o b l e = [ ]
f o r n u m e r o i n l i s t a :
l i s t a _ d o b l e . a p p e n d ( n u m e r o * 2 )
p r i n t ( l i s t a _ d o b l e )
S a l i d a : [ 2 , 4 , 6 , 8 , 1 0 ]
C o n N u m P y ( U s a n d o u n n d a r r a y )
P Y T H O N
i m p o r t n u m p y a s n p # P o r c o n v e n c i ó n s e u s a n p
# C o n v e r t i m o s l a l i s t a a u n n d a r r a y d e N u m P y
a r r e g l o = n p . a r r a y ( [ 1 , 2 , 3 , 4 , 5 ] )
# R e a l i z a m o s l a o p e r a c i ó n d e f o r m a v e c t o r i z a d a
( m u y r á p i d a )
a r r e g l o _ d o b l e = a r r e g l o * 2
p r i n t ( a r r e g l o _ d o b l e )
S a l i d a : [ 2 4 6 8 1 0 ]
C o m o p u e d e s v e r , e l c ó d i g o e s m á s c o r t o , c l a r o y ,
l o m á s i m p o r t a n t e , ¡ m u c h í s i m o m á s r á p i d o
c u a n d o t r a b a j a s c o n m i l l o n e s d e d a t o s ! P o r e s o ,
N u m P y e s u n a d e l a s l i b r e r í a s m á s i m p o r t a n t e s
p a r a l a c i e n c i a d e d a t o s y e l m a c h i n e l e a r n i n g e n
P y t h o n .
PYTHON
La hechicera del código
18.Matplotlib y Seaborn para
visualización de datos
M a t p l o t l i b y S e a b o r n : P i n t a n d o t u s d a t o s p a r a
e n t e n d e r l o s m e j o r 📊🎨
I m a g i n a q u e t i e n e s m u c h í s i m o s d a t o s
( n ú m e r o s , p a l a b r a s , e t c . ) , y v e r l o s a s í n o m á s
n o t e d i c e n a d a . P a r a r e a l m e n t e e n t e n d e r l o
q u e e s t á p a s a n d o , n e c e s i t a s " d i b u j a r l o s " .
M a t p l o t l i b y S e a b o r n s o n d o s l i b r e r í a s d e
P y t h o n q u e t e p e r m i t e n h a c e r e x a c t a m e n t e
e s o : c o n v e r t i r t u s d a t o s e n g r á f i c o s ,
d i a g r a m a s y v i s u a l i z a c i o n e s b o n i t a s y f á c i l e s
d e e n t e n d e r .
1 . M a t p l o t l i b : E l a r t i s t a f u n d a m e n t a l
¿ Q u é e s ? E s l a l i b r e r í a b a s e p a r a c r e a r
g r á f i c o s e n P y t h o n . P i e n s a e n e l l a c o m o t u
l i e n z o , t u s p i n c e l e s y t u s p i n t u r a s . T e d a
c o n t r o l t o t a l p a r a d i b u j a r c a s i c u a l q u i e r t i p o
d e g r á f i c o , d e s d e l o s m á s s i m p l e s h a s t a l o s
m á s c o m p l e j o s .
¿ P a r a q u é s i r v e ?
D i b u j a r l í n e a s ( p a r a v e r t e n d e n c i a s ) .
H a c e r b a r r a s ( p a r a c o m p a r a r c a n t i d a d e s ) .
C r e a r p u n t o s d i s p e r s o s ( p a r a v e r r e l a c i o n e s
e n t r e d o s c o s a s ) .
H a c e r h i s t o g r a m a s ( p a r a v e r c ó m o s e
d i s t r i b u y e n t u s d a t o s ) .
C a r a c t e r í s t i c a s : R e q u i e r e u n p o c o m á s d e
c ó d i g o p a r a l o g r a r u n r e s u l t a d o e s t é t i c o ,
p e r o t e d a m u c h í s i m a f l e x i b i l i d a d .
E j e m p l o d e M a t p l o t l i b :
P Y T H O N
PYTHON
La hechicera del código
i m p o r t m a t p l o t l i b . p y p l o t a s p l t
x = [ 1 , 2 , 3 , 4 , 5 ]
y = [ 2 , 4 , 1 , 3 , 5 ]
p l t . p l o t ( x , y ) # D i b u j a m o s u n a l í n e a
p l t . x l a b e l ( " E j e X " ) # P o n e m o s n o m b r e a l e j e X
p l t . y l a b e l ( " E j e Y " ) # P o n e m o s n o m b r e a l e j e Y
p l t . t i t l e ( " G r á f i c o d e L í n e a s S i m p l e " ) # T í t u l o d e l
g r á f i c o
p l t . s h o w ( ) # M o s t r a m o s e l g r á f i c o
PYTHON
La hechicera del código
2 . S e a b o r n : E l d e c o r a d o r d e g r á f i c o s
¿ Q u é e s ? S e a b o r n e s t á c o n s t r u i d o s o b r e
M a t p l o t l i b . P i e n s a e n é l c o m o u n " d e c o r a d o r d e
i n t e r i o r e s " p a r a t u s g r á f i c o s . T e a y u d a a h a c e r
g r á f i c o s m á s b o n i t o s , c o m p l e j o s y e s t a d í s t i c o s
c o n m e n o s c ó d i g o .
¿ P a r a q u é s i r v e ?
H a c e r g r á f i c o s d e c a j a s , v i o l i n e s ( p a r a v e r
d i s t r i b u c i o n e s ) .
M a p a s d e c a l o r ( p a r a v e r c o r r e l a c i o n e s ) .
G r á f i c o s d e d i s p e r s i ó n c o n l í n e a s d e r e g r e s i ó n .
C a r a c t e r í s t i c a s : E s e x c e l e n t e p a r a e x p l o r a r
r e l a c i o n e s e n t r e v a r i a b l e s y p r o d u c e g r á f i c o s
e s t é t i c a m e n t e a g r a d a b l e s p o r d e f e c t o . F u n c i o n a
m u y b i e n c o n D a t a F r a m e s d e P a n d a s .
E j e m p l o d e S e a b o r n :
P Y T H O N
i m p o r t s e a b o r n a s s n s
i m p o r t m a t p l o t l i b . p y p l o t a s p l t
i m p o r t p a n d a s a s p d
# D a t o s d e e j e m p l o
d a t o s = { ' E d a d ' : [ 2 0 , 2 2 , 2 5 , 3 0 , 3 5 , 2 8 ] ,
' S a l a r i o ' : [ 3 0 0 0 0 , 3 5 0 0 0 , 4 0 0 0 0 , 5 0 0 0 0 , 6 0 0 0 0 , 4 5 0 0 0 ] }
d f = p d . D a t a F r a m e ( d a t o s )
# D i b u j a m o s u n g r á f i c o d e d i s p e r s i ó n c o n S e a b o r n
s n s . s c a t t e r p l o t ( x = ' E d a d ' , y = ' S a l a r i o ' , d a t a = d f )
p l t . t i t l e ( " R e l a c i ó n E d a d y S a l a r i o " )
p l t . s h o w ( )
PYTHON
La hechicera del código
E n r e s u m e n :
M a t p l o t l i b t e d a l a s h e r r a m i e n t a s b á s i c a s p a r a
c o n s t r u i r c u a l q u i e r g r á f i c o .
S e a b o r n t e f a c i l i t a c r e a r g r á f i c o s e s t a d í s t i c o s
c o m p l e j o s y e s t é t i c a m e n t e a t r a c t i v o s c o n m e n o s
e s f u e r z o , i d e a l p a r a e l a n á l i s i s d e d a t o s .
A m b a s l i b r e r í a s t r a b a j a n m u y b i e n j u n t a s y s o n
e s e n c i a l e s p a r a c u a l q u i e r p e r s o n a q u e t r a b a j e
c o n d a t o s e n P y t h o n .
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
PYTHON
La hechicera del código
La
hechicera
del código
Te espero en otras Redes
sociales:
Isela Data Maven

🔮PYTHON LA HECHICERA DEL CODIGO 1 VIAJE MÁGICO🔮

  • 1.
  • 2.
    PYTHON PRINT PRINT print (“Hola”) >>Hola print (“Hola”) >>Hola Esuna declaración que al ejecutarse muestra o (imprime), en pantalla el argumento que se introduce dentro de los paréntesis ( ). Para mostrar el texto ingresamos entre comillas ya sean dobles o simples (“ “), (' '), los caracteres de texto que deben mostrarse en pantalla. Caracteres especiales Le indicamos a la consola el carácter a continuación del símbolo debe ser tratado como un carácter especial. ” > Imprime comillas n > Separa el texto en una nueva línea t > Imprime un tabulador > Imprime la barra invertida textualmente. STRING STRING CONCATENACIÓN CONCATENACIÓN Los strings en Python son un tipo de dato formado por cadenas o secuencias de caracteres de cualquier tipo, formando un texto. Es la unificación de cadenas de texto: print('Hello + “ “ + Kitty ') >>Hello Kitty
  • 3.
    Isela Data Maven PYTHON Pythones un lenguaje de programación de alto nivel que se destaca por ser fácil de aprender, legible y versátil. Se utiliza en áreas muy diversas como desarrollo web, análisis de datos, inteligencia artificial, automatización de tareas y más. Python se caracteriza por: Sencillez y claridad: Su sintaxis es cercana al lenguaje humano, lo que facilita su aprendizaje. Multiparadigma: Permite programar de manera estructurada, orientada a objetos o funcional. Amplia comunidad: Tiene muchas librerías y recursos disponibles, lo que acelera el desarrollo de proyectos. La hechicera del código
  • 4.
    PYTHON La hechicera delcódigo Input: Ejemplo: Es la función que permite al usuario introducir información por medio del teclado al ejecutarse, otorgándole una instrucción acerca del ingreso solicitado. El código continuará ejecutándose luego que el usuario realicé la acción. En Python los tipos de datos son las diferentes clases de valores que puede manejar Python. Algunos de los más comunes son: int → números enteros (ej. 10, -5, 2025) float → números decimales (ej. 3.14, -0.5) str → cadenas de texto (ej. "Hola", 'Python') bool → valores lógicos (ej. True, False) print(type(10)) # int print(type(3.14)) # float print(type("Hola")) # str print(type(True)) # bool input(“Escribe tu nombre : “ ) >> Escribe tu nombre : | print(“Tu nombre es” + input(“Escribe tu nombre : “) >>Escribe tu nombre: La hechicera del código >> Tú nombre es La hechicera del código
  • 5.
    PYTHON La hechicera delcódigo Variables Nombres de Variables y Reglas Ejemplo: Ejemplo: Una variable es un espacio en memoria donde guardamos datos. En Python no es necesario indicar el tipo de dato al declarar la variable, ya que se asigna automáticamente. ✅ Reglas: 1. Deben comenzar con una letra o guion bajo (_), nunca con un número. 2. Pueden contener letras, números y guion bajo, pero no espacios. 3. No pueden ser palabras reservadas de Python (ej. if, for, while). 4. Python distingue mayúsculas y minúsculas (Edad ≠ edad). nombre = "Isela" edad = 25 pi = 3.1416 es_estudiante = True print(nombre, edad, pi, es_estudiante) nombre_usuario = "Ana" Edad = 30 _pi = 3.14
  • 6.
    PYTHON La hechicera delcódigo ❌ Ejemplos inválidos Ejemplo: Ejemplo: Integers (int) Float 2edad = 25 # No puede empezar con número nombre-usuario = "Ana" # No se permiten guiones for = 5 # "for" es palabra reservada x = 10 y = -5 print(x + y) # 5 print(type(x)) # <class 'int'> a = 3.5 b = -0.7 c = 1.2e3 # Notación científica = 1200.0 print(a + b) # 2.8 print(c) # 1200.0 print(type(a)) # <class 'float'> Son números enteros sin decimales. Son números con decimales o en notación científica.
  • 7.
    PYTHON La hechicera delcódigo Conversiones entre Tipos de Datos Formatear Cadenas con format() Se pueden transformar datos usando funciones de conversión: int() → convierte a entero float() → convierte a decimal str() → convierte a cadena x = 10 y = 3.5 print(float(x)) # 10.0 print(int(y)) # 3 print(str(x)) # "10" nombre = "Isela" edad = 25 print("Hola, me llamo {} y tengo {} años".format(nombre, edad)) Ejemplo: Ejemplo: Permite insertar valores en una cadena de texto.
  • 8.
    PYTHON La hechicera delcódigo Ejemplo con posición y formato numérico: Python permite realizar operaciones matemáticas con símbolos: pi = 3.14159265 print("El valor de PI con 2 decimales:{:.2f}".format(pi)) Operadores Matemáticos Operador Significado Ejemplo Resultado + Suma 5 + 3 8 - Resta (7 - 2) 6 * Multiplicación 2 * 6 12 / División (7/2) 3.5 // División entera 7 // 2 3 % Módulo (residuo) 7 % 2 1 ** Potencia 2 ** 3 8
  • 9.
    TIPOS DE DATOSSignificado Números Enteros (int) Son números sin punto decimal. Como cuando cuentas manzanas: 1, 5, 100, etc. Números Decimales (float): Son números con punto decimal. Como cuando mides algo: 3.14, 2.5, 99.9. Cadenas de Texto (str): Son palabras, letras, símbolos o cualquier cosa que no sea un número. Siempre van entre comillas. Por ejemplo: "hola", "Manzana", "123". PYTHON La hechicera del código Ejemplo a = 7 b = 2 print(a + b) # 9 print(a - b) # 5 print(a * b) # 14 print(a / b) # 3.5 print(a // b) # 3 print(a % b) # 1 print(a ** b) # 49 Conversión de tipos (int(), float(), str()) Ahora, la Conversión de Tipos es el proceso de cambiar lo que está en un recipiente para meterlo en otro. En Python, usamos estas "fórmulas mágicas" para hacerlo:
  • 10.
    PYTHON La hechicera delcódigo 1. int(): Para convertir a un número entero Imagina que tienes el número "25" guardado como texto. Si quieres hacer una operación matemática, como sumarle 5, Python no te dejará porque ve un texto, no un número. Con int() lo solucionas: Lo que tienes: "25" (es un texto) Lo que haces: int("25") Lo que obtienes: 25 (ahora es un número entero con el que puedes operar). 2. float(): Para convertir a un número decimal Si necesitas trabajar con precios o medidas, float() es tu aliado. Lo que tienes: 20 (es un número entero) Lo que haces: float(20) Lo que obtienes: 20.0 (ahora es un número decimal). También funciona si lo que tienes es texto: float("3.14") te da 3.14. 3. str(): Para convertir a texto Esta es útil cuando quieres combinar un número con un texto. Por ejemplo, si quieres decir "Tu edad es 25". Lo que tienes: "Tu edad es " (es un texto) 25 (es un número) Lo que haces: "Tu edad es " + str(25) Lo que obtienes: "Tu edad es 25" (un solo texto completo).
  • 11.
    PYTHON La hechicera delcódigo Redondeo de números (round()) Imagina que tienes un número con muchos decimales, como si fuera un precio muy largo: 15.78345. A veces, para que sea más fácil de entender o usar, necesitas "simplificarlo" o "recortarlo". Ahí es donde entra la función round(). Piensa en ella como una tijera mágica que redondea los números. ¿Cómo funciona round()? La forma más básica es para redondear a un número entero: Si el primer decimal es 5 o más, redondea hacia arriba. Por ejemplo, round(15.7) se convierte en 16. 15.7 está más cerca de 16 que de 15. Si el primer decimal es menos de 5, redondea hacia abajo. Por ejemplo, round(15.3) se convierte en 15. 15.3 está más cerca de 15 que de 16. ¿Y si quiero redondear a 2 decimales? Puedes decirle a round() exactamente cuántos decimales quieres. Para eso, le das dos datos: 1. El número que quieres redondear. 2. La cantidad de decimales que deseas. Ejemplo: Imagina que tienes el número 3.14159. Si quieres redondearlo a 2 decimales, le dices a Python: round(3.14159, 2) El resultado sería 3.14. La función se fija en el tercer decimal (1) y, como es menor que 5, no sube el número anterior. En resumen: round(número) → Lo simplifica al entero más cercano. round(número, decimales) → Lo simplifica a la cantidad de decimales que tú le digas. Así de sencillo es usar round() para que tus números se vean más ordenados.
  • 12.
    Imagina que quieresescribir una carta o un mensaje. A veces, necesitas llenar "espacios en blanco" con información que cambia. Por ejemplo, "Hola, mi nombre es [nombre] y tengo [edad] años". En Python, el formateo de cadenas es la manera elegante y poderosa de llenar esos espacios vacíos. Hay dos formas principales de hacerlo, y son muy sencillas: 1. El método .format() (La forma clásica) Este método funciona como un rompecabezas. Creas una plantilla con {} para los espacios vacíos y luego, con .format(), le pasas las piezas (los datos) en orden. Ejemplo: nombre = "María" edad = 25 #Usando .format() mensaje = "Hola, mi nombre es {} y tengo {} años.".format(nombre, edad) print(mensaje) # Salida: Hola, mi nombre es María y tengo 25 años. PYTHON La hechicera del código Formateo de cadenas (format, f-strings) P Y T H O N
  • 13.
    PYTHON La hechicera delcódigo Aquí, Python reemplaza el primer {} con el primer dato que le das (nombre) y el segundo {} con el segundo dato (edad). Es muy organizado. 2. Las f-strings (La forma moderna y más fácil) Las f-strings (la "f" es de formatted) son la forma más popular y sencilla de hacerlo hoy en día. Solo tienes que poner una f al principio de tu cadena de texto y luego, dentro de la cadena, metes las variables directamente entre llaves {}. Ejemplo: nombre = "Carlos" edad = 30 # Usando f-strings mensaje = f"Hola, mi nombre es {nombre} y tengo {edad} años." print(mensaje) # Salida: Hola, mi nombre es Carlos y tengo 30 años. P Y T H O N
  • 14.
    PYTHON La hechicera delcódigo ¿Por qué son tan populares las f-strings? Más legibles: Puedes ver la cadena completa con las variables en su lugar, lo que hace el código más claro. Más cortas: Te ahorras el .format() y escribir los nombres de las variables dos veces. Más rápidas: Técnicamente, son un poco más rápidas, aunque para la mayoría de los casos no notarás la diferencia. En resumen: .format() es el método tradicional, funciona como un rompecabezas. f-strings son el método moderno, te permiten meter las variables directamente en la cadena con una f al inicio. Ambos hacen lo mismo: crear cadenas de texto personalizadas y dinámicas de manera sencilla.
  • 15.
    PYTHON La hechicera delcódigo Imagina una cadena de texto como un tren. Cada vagón es una letra o un carácter. Para trabajar con este tren, Python tiene dos herramientas principales: 1. .index(): Encontrar un vagón específico El método .index() es como un inspector que te ayuda a encontrar la posición de un vagón en particular. La posición en Python siempre empieza a contar desde 0, no desde 1. ¿Qué hace? Busca la primera vez que aparece un carácter o una secuencia de caracteres y te dice en qué posición está. Ejemplo: Si tienes la palabra "Hola" "Hola".index("o") te dirá 1, porque la "o" está en la posición 1. "Hola".index("la") te dirá 2, porque la secuencia "la" empieza en la posición 2. 2. Slicing (text[0:5]): Cortar un pedazo del tren El slicing es como un tren de juguete que puedes cortar para quedarte solo con los vagones que necesitas. Usas corchetes [] y un rango de números para decirle a Python desde dónde y hasta dónde quieres cortar. La sintaxis es [inicio:fin], pero hay una regla importante: el número de fin no se incluye. Siempre se corta hasta el vagón anterior. Ejemplo: Si tienes la palabra "Python" "Python"[0:2] te dará "Py". (Empieza en la posición 0 y corta hasta la 2, sin incluirla). "Python"[2:5] te dará "tho". (Empieza en la posición 2 y corta hasta la 5, sin incluirla). También puedes dejar el inicio o el fin vacíos: "Python"[:2] te da "Py". (Si no pones inicio, empieza desde 0). "Python"[2:] te da "thon". (Si no pones fin, corta hasta el final). En resumen: .index() te da la posición de algo que buscas. Slicing te permite extraer un pedazo de la cadena usando posiciones. Estas dos herramientas son esenciales para manipular texto y sacar la información que te interesa de una cadena. 2. Strings (Cadenas de texto) M é t o d o s b á s i c o s :
  • 16.
    PYTHON La hechicera delcódigo M é t o d o s d e a n á l i s i s : Imagina que cada uno de estos métodos es una pregunta que le haces a una cadena de texto para saber qué tipo de caracteres tiene. La respuesta siempre será True (verdadero) o False (falso). Para saber si son números: isdigit(): Le preguntas a la cadena: "¿Estás hecha de dígitos (0-9)?" "123".isdigit() te responderá True. "12.3".isdigit() te responderá False (por el punto decimal). isnumeric(): Es un poco más flexible. Le preguntas: "¿Puedes ser un número, aunque no seas un simple dígito?" "123".isnumeric() te responde True. "1/2".isnumeric() te responde True (la fracción 1/2 se considera un valor numérico). isdecimal(): Es la más estricta de las tres. Le preguntas: "¿Eres un número decimal del sistema arábigo (0-9)?" "123".isdecimal() te responde True. "1/2".isdecimal() te responde False. Para saber si son letras o números: isalpha(): Le preguntas a la cadena: "¿Estás hecha de solo letras?" "Hola".isalpha() te responderá True. "Hola123".isalpha() te responderá False. isalnum(): Le preguntas: "¿Estás hecha de letras y/o números?" (Alfanumérico) "Hola123".isalnum() te responderá True. "Hola 123".isalnum() te responderá False (por el espacio). Para saber si son mayúsculas o minúsculas: islower(): Le preguntas: "¿Todas tus letras son minúsculas?" "hola".islower() te responderá True. "Hola".islower() te responderá False. isupper(): Le preguntas: "¿Todas tus letras son mayúsculas?" "HOLA".isupper() te responderá True. "Hola".isupper() te responderá False. Para saber si es un espacio o si se puede imprimir: isspace(): Le preguntas: "¿Eres solo un espacio en blanco, un salto de línea o una tabulación?" " ".isspace() te responderá True. " hola ".isspace() te responderá False. isprintable(): Le preguntas: "¿Todos tus caracteres se pueden ver en pantalla?" "Hola mundo".isprintable() te responderá True. Una cadena con caracteres invisibles (como un salto de línea) te responderá False.
  • 17.
    PYTHON La hechicera delcódigo M é t o d o s d e t r a n s f o r m a c i ó n : Imagina que una cadena de texto es una pieza de arcilla. Los métodos que vamos a ver son herramientas que te permiten moldear, cambiar y limpiar esa pieza. 1. Cambio de mayúsculas y minúsculas Estos métodos son como interruptores para el estilo de las letras: cadena.capitalize(): Pone la primera letra en mayúscula y el resto en minúsculas. Ejemplo: "hola mundo".capitalize() se convierte en "Hola mundo". cadena.lower(): Convierte toda la cadena a minúsculas. Ejemplo: "Hola Mundo".lower() se convierte en "hola mundo". cadena.upper(): Convierte toda la cadena a mayúsculas. Ejemplo: "Hola Mundo".upper() se convierte en "HOLA MUNDO". cadena.swapcase(): Invierte el estilo. Las mayúsculas se vuelven minúsculas y viceversa. Ejemplo: "Hola Mundo".swapcase() se convierte en "hOLA mUNDO". 2. Limpieza de espacios Estos métodos son como borradores que eliminan los espacios innecesarios. cadena.strip(): Quita los espacios en blanco del principio y del final de la cadena. Ejemplo: " hola mundo ".strip() se convierte en "hola mundo". cadena.lstrip(): Quita los espacios solo del lado izquierdo (del principio). Ejemplo: " hola mundo ".lstrip() se convierte en "hola mundo ". cadena.rstrip(): Quita los espacios solo del lado derecho (del final). Ejemplo: " hola mundo ".rstrip() se convierte en " hola mundo". 3. Formato y alineación Estos métodos te permiten alinear el texto de forma estética. Debes indicar el número total de espacios que quieres que ocupe la cadena. cadena.center(ancho): Centra el texto en un espacio dado, rellenando con espacios a los lados. Ejemplo: "hola".center(10) se convierte en " hola ". cadena.ljust(ancho): Alinea el texto a la izquierda. Ejemplo: "hola".ljust(10) se convierte en "hola ". cadena.rjust(ancho): Alinea el texto a la derecha. Ejemplo: "hola".rjust(10) se convierte en " hola". 4. Otros métodos importantes cadena.replace(viejo, nuevo): Busca una parte de la cadena y la reemplaza por otra. Ejemplo: "Hola, mundo".replace("mundo", "amigo") se convierte en "Hola, amigo". cadena.encode(): Convierte la cadena en bytes, que es el formato que las computadoras entienden. Por lo general, se usa con un tipo de codificación como utf-8. Ejemplo: "Hola".encode("utf-8") se convierte en b'Hola'. Esto es un tema más avanzado, pero es importante saber que existe.
  • 18.
    PYTHON La hechicera delcódigo M é t o d o s d e s e p a r a c i ó n y u n i ó n : Imagina que una cadena de texto es como una soga. Estos métodos son herramientas para cortar o unir esa soga de diferentes maneras. Métodos de Separación (para cortar la soga) Estos métodos toman una cadena y la dividen en varias partes, guardándolas en una lista. cadena.split(separador): El método más común para separar. Corta la cadena en pedazos usando un separador que tú le indiques. Si no le das uno, usa los espacios por defecto. Ejemplo: frase = "Hola, mundo de Python" frase.split(" ") te da ['Hola,', 'mundo', 'de', 'Python'] frase.split(",") te da ['Hola', ' mundo de Python'] cadena.splitlines(): Corta la soga por las líneas. Divide la cadena en una lista de líneas, usando los saltos de línea (como cuando presionas "Enter"). Ejemplo: texto = "Línea 1nLínea 2nLínea 3" texto.splitlines() te da ['Línea 1', 'Línea 2', 'Línea 3'] cadena.partition(separador): Corta la soga en tres partes. Busca el primer separador que le des y divide la cadena en una tupla de 3 elementos: a. La parte antes del separador. b. El separador mismo. c. La parte después del separador. Ejemplo: url = "www.google.com" url.partition(".") te da ('www', '.', 'google.com') cadena.rpartition(separador): Corta la soga en tres, pero desde la derecha. Es igual que partition(), pero busca la última vez que aparece el separador. Ejemplo: ruta = "C:/usuarios/documentos/archivo.txt" ruta.rpartition("/") te da ('C:/usuarios/documentos', '/', 'archivo.txt') Método de Unión (para pegar pedazos de soga) separador.join(lista): El método para unir. Es el inverso de split(). Toma una lista de cadenas y las une en una sola, colocando el separador entre cada una. Ejemplo: palabras = ['Hola', 'mundo', 'de', 'Python'] " ".join(palabras) te da 'Hola mundo de Python' "-".join(palabras) te da 'Hola-mundo-de-Python'
  • 19.
    PYTHON La hechicera delcódigo 3. Estructuras de Datos L i s t a s → c o l e c c i ó n o r d e n a d a y m u t a b l e Imagina una lista como una lista de compras 🛒 que haces en un papel. Colección Ordenada "Colección ordenada" significa que cada cosa que pones en tu lista tiene una posición específica y esa posición importa. Al igual que en una lista de compras: El primer artículo está en la posición 1. El segundo artículo está en la posición 2. En Python, la computadora cuenta las posiciones, pero empieza desde el cero (0). Así que el primer artículo está en el índice 0, el segundo en el 1, y así sucesivamente. Ejemplo: lista_de_compras = ["manzanas", "leche", "pan"] P Y T H O N
  • 20.
    PYTHON La hechicera delcódigo T u p l a s → c o l e c c i ó n o r d e n a d a e i n m u t a b l e Las tuplas en Python son como una lista de compras escrita en una piedra. 🗿 Colección Ordenada Al igual que las listas, las tuplas son una colección ordenada de elementos. Esto significa que cada elemento tiene una posición fija (empezando desde el índice 0), y el orden en el que se guardan es importante. Ejemplo: coordenada = (10, 20) P Y T H O N
  • 21.
    PYTHON La hechicera delcódigo T u p l a s → c o l e c c i ó n o r d e n a d a e i n m u t a b l e El número 10 está en la posición 0. El número 20 está en la posición 1. Colección Inmutable "Inmutable" significa que no pueden ser cambiadas una vez que han sido creadas. Una tupla es fija. Esto implica que no puedes: Añadir nuevos elementos. Quitar elementos. Cambiar un elemento por otro. Ejemplo: Si intentaras cambiar un elemento de la tupla coordenada, Python te daría un error: ¿Para qué se usan las tuplas? Se usan para guardar datos que no deben ser modificados, como: Las coordenadas de un punto ((x, y)). Los días de la semana. La información de un registro que no va a cambiar (por ejemplo, los datos de un libro: ("El Señor de los Anillos", "J.R.R. Tolkien", 1954)). En resumen, la principal diferencia entre una lista y una tupla es que las listas son flexibles (se pueden editar) y las tuplas son rígidas (son permanentes). Esto las hace perfectas para guardar datos que necesitan mantenerse intactos. coordenada[0] = 30 # Esto causaría un error P Y T H O N
  • 22.
    P Y TH O N PYTHON La hechicera del código D i c c i o n a r i o s → p a r e s c l a v e - v a l o r Imagina un diccionario como una agenda de contactos. No organizas a tus amigos por un número de lista (como en una lista), sino por su nombre. Cada entrada tiene dos partes: 1. La clave (key): El nombre de la persona, que es única e irrepetible. 2. El valor (value): La información asociada a esa persona (su teléfono, correo, dirección, etc.). Los diccionarios en Python funcionan exactamente igual: son colecciones que guardan información en pares de clave-valor. La clave es como el "rótulo" o la "etiqueta" que te permite encontrar el valor que necesitas, de forma rápida y directa. ¿Cómo se ven en Python? Los diccionarios se crean con llaves {}. Dentro de ellas, cada par se separa por dos puntos :, y cada par de clave-valor está separado por una coma ,. Ejemplo: perfil_usuario = { "nombre": "Simba", "edad": 1, "ciudad": "Ciudad de México" }
  • 23.
    PYTHON La hechicera delcódigo Claves: "nombre", "edad", "ciudad" Valores: "Ana", 30, "Ciudad de México" ¿Cómo se usan? Para acceder a la información, no usas la posición (como en las listas), sino la clave. Para saber el nombre de Ana, simplemente usas la clave "nombre": Además, los diccionarios son mutables (pueden ser modificados). Puedes cambiar un valor o añadir uno nuevo fácilmente: P Y T H O N print(perfil_usuario["nombre"]) # Salida: Ana
  • 24.
    PYTHON La hechicera delcódigo P Y T H O N p e r f i l _ u s u a r i o [ " e d a d " ] = 3 1 # C a m b i a l a e d a d a 3 1 p e r f i l _ u s u a r i o [ " p r o f e s i o n " ] = " I n g e n i e r a " # A ñ a d e u n a n u e v a c l a v e - v a l o r En resumen, un diccionario es ideal para cuando necesitas guardar información que tiene una etiqueta o nombre para ser encontrada, en lugar de una simple posición. S e t s → c o l e c c i ó n n o o r d e n a d a d e e l e m e n t o s ú n i c o s M é t o d o s : a d d ( ) , c l e a r ( ) , c o p y ( ) , d i f f e r e n c e ( ) , d i f f e r e n c e _ u p d a t e ( ) , d i s c a r d ( ) , i n t e r s e c t i o n ( ) , i n t e r s e c t i o n _ u p d a t e ( ) , i s d i s j o i n t ( ) , i s s u b s e t ( ) , p o p ( ) , r e m o v e ( ) , s y m m e t r i c _ d i f f e r e n c e ( ) , s y m m e t r i c _ d i f f e r e n c e _ u p d a t e ( ) , u n i o n ( ) , u p d a t e ( )
  • 25.
    PYTHON La hechicera delcódigo Método Descripción Simple Ejemplo add() Añade un elemento a un set. Si ya existe, no hace nada. mi_set.add('plátano') clear() Elimina todos los elementos del set. mi_set.clear() copy() Crea una copia superficial del set. mi_nueva_copia = mi_set.copy() difference() Devuelve un nuevo set con los elementos que están en el primer set, pero no en el segundo. set1.difference(set2) difference_update() Elimina del set los elementos que también están en otro set. set1.difference_update(set2) discard() Elimina un elemento del set. No da error si el elemento no existe. mi_set.discard('manzana') intersection() Devuelve un nuevo set con los elementos que tienen en común dos o más sets. set1.intersection(set2) intersection_update( ) Mantiene solo los elementos que el set tiene en común con otro. set1.intersection_update(set 2) isdisjoint() Devuelve True si los sets no tienen elementos en común. set1.isdisjoint(set2) issubset() Devuelve True si todos los elementos de un set están en otro. set1.issubset(set2) pop() Elimina y devuelve un elemento aleatorio del set. elemento = mi_set.pop() remove() Elimina un elemento del set. Da un error si no existe. mi_set.remove('naranja') symmetric_differenc e() Devuelve un set con los elementos que están en uno u otro, pero no en ambos. set1.symmetric_difference(s et2) symmetric_differenc e_update() Mantiene solo los elementos que no están en ambos sets. set1.symmetric_difference_u pdate(set2) union() Devuelve un nuevo set con todos los elementos de ambos sets. set1.union(set2) update() Añade los elementos de otro set (o cualquier iterable) al set actual. mi_set.update(otro_set)
  • 26.
    PYTHON La hechicera delcódigo 4. Booleanos y Control de Flujo Booleanos: El interruptor ON/OFF de la lógica Imagina un interruptor de luz. Solo tiene dos estados posibles: Encendido (ON) Apagado (OFF) En Python, los Booleanos funcionan igual. Son un tipo de dato que solo puede tener dos valores: True (Verdadero) → Como el interruptor ON False (Falso) → Como el interruptor OFF ¿Para qué sirven? Se usan para tomar decisiones. Cuando haces una pregunta a Python (una condición), la respuesta siempre es True o False. Ejemplo de la vida real: Pregunta: "¿Está lloviendo?" Respuesta: True (sí, está lloviendo) Respuesta: False (no, no está lloviendo) Ejemplo en Python: P Y T H O N e d a d = 1 8 # P r e g u n t a a P y t h o n : ¿ L a e d a d e s m a y o r o i g u a l a 1 8 ? e s _ m a y o r _ d e _ e d a d = ( e d a d > = 1 8 ) p r i n t ( e s _ m a y o r _ d e _ e d a d ) # S a l i d a : T r u e
  • 27.
    PYTHON La hechicera delcódigo Si edad fuera 16, la respuesta sería False. En resumen: Los booleanos son la base de la toma de decisiones en la programación. Son un simple "sí" o "no", "verdadero" o "falso". Aquí tienes una explicación sencilla de los operadores de comparación en Python, con un ejemplo visual para cada uno. Operadores de Comparación: Hacer Preguntas y Obtener Respuestas Imagina que los operadores de comparación son como un detective que te ayuda a hacer preguntas para comparar dos cosas. La respuesta a cada pregunta siempre es un booleano: True o False. O p e r a d o r e s d e c o m p a r a c i ó n ( = = , ! = , < , > , < = , > = ) Operador Significado Lógica Ejemplo Resultado and Y Se usa para combinar dos condiciones. La respuesta es True solo si ambas condiciones son True. (2 > 1) and (5 > 3) VERDADERO or O Se usa para combinar dos condiciones. La respuesta es True si al menos una de las condiciones es True. (10 < 5) or (10 > 8) VERDADERO not NO Invierte el resultado de una condición. not True se convierte en False, y not False se convierte en True. not (2 == 3) VERDADERO
  • 28.
    PYTHON La hechicera delcódigo O p e r a d o r e s L ó g i c o s : C o n e c t o r e s p a r a T o m a r D e c i s i o n e s Operador Significado Pregunta que hace Ejemplo Resultado (==) Igual a ¿Son los dos valores iguales? 5 == 5 VERDADERO != Diferente a ¿Son los dos valores diferentes? 10 != 5 VERDADERO < Menor que ¿El valor de la izquierda es menor que el de la derecha? 3 < 8 VERDADERO > Mayor que ¿El valor de la izquierda es mayor que el de la derecha? 12 > 10 VERDADERO <= Menor o igual que ¿El valor de la izquierda es menor o igual que el de la derecha? 4 <= 4 VERDADERO >= Mayor o igual que ¿El valor de la izquierda es mayor o igual que el de la derecha? 7 >= 5 VERDADERO
  • 29.
    PYTHON La hechicera delcódigo Ejemplo de la vida real: Imagina que quieres ir al cine. Las condiciones son: Condición 1: tienes_dinero = True Condición 2: la_pelicula_esta_disponible = True Con and: Solo vas al cine si tienes dinero y la película está disponible. tienes_dinero and la_pelicula_esta_disponible → True Con or: Vas al cine si tienes dinero o la película está disponible (aunque la lógica no sea perfecta, la computadora lo evaluaría). tienes_dinero or la_pelicula_esta_disponible → True Con not: Si tu amigo te dice "no vamos a ver esa película", estás invirtiendo la condición original. not la_pelicula_esta_disponible → False (si originalmente era True)
  • 30.
    PYTHON La hechicera delcódigo ¡Claro que sí! Con gusto te explico los condicionales (if, elif, else) de la manera más sencilla. Imagina que estás en la vida real y necesitas tomar decisiones. Siempre usas preguntas y, dependiendo de la respuesta, haces algo diferente. if, elif, else: El Cerebro de tus Decisiones Estos son los bloques de construcción para que tus programas tomen decisiones. 1. if (SI... sucede esto) Es la condición principal. Le preguntas algo al programa y, SI esa condición es True, el programa ejecuta un bloque de código. Ejemplo: if hace_sol: (Si hace sol...) entonces voy a la playa. 2. elif (SINO, SI... sucede esto otro) Si la primera condición (if) fue False, el programa puede revisar otras condiciones. elif significa "sino, si...". Puedes tener tantos elif como necesites. Ejemplo: elif esta_nublado: (Sino, si está nublado...) entonces voy al parque. 3. else (SINO... haz esto por defecto) Si ninguna de las condiciones anteriores (if o elif) fue True, entonces el programa ejecuta el código que está en el else. Es el "plan B" o la acción por defecto. Ejemplo: else: (Sino, si nada de lo anterior se cumple...) entonces me quedo en casa. Ejemplo Completo en la Vida Real: Imagina que decides qué hacer el fin de semana según el clima: C o n d i c i o n a l e s ( i f , e l i f , e l s e ) S I ( i f ) e l d í a e s s o l e a d o : V o y a l a p l a y a . S I N O , S I ( e l i f ) e l d í a e s t á n u b l a d o : V o y a l p a r q u e . S I N O ( e l s e ) : M e q u e d o e n c a s a .
  • 31.
    PYTHON La hechicera delcódigo P Y T H O N t e m p e r a t u r a = 2 8 i f t e m p e r a t u r a > 2 5 : p r i n t ( " ¡ Q u é c a l o r ! I r é a l a p l a y a . " ) e l i f t e m p e r a t u r a > 1 5 : # S i l a t e m p e r a t u r a n o e s m a y o r d e 2 5 , p e r o s í m a y o r d e 1 5 p r i n t ( " C l i m a a g r a d a b l e , ¡ u n p a s e o a l p a r q u e ! " ) e l s e : # S i n i n g u n a d e l a s a n t e r i o r e s f u e T r u e p r i n t ( " H a c e f r í o , m e j o r m e q u e d o e n c a s a . " ) R e s u l t a d o : ¡ Q u é c a l o r ! I r é a l a p l a y a . ( P o r q u e 2 8 e s m a y o r q u e 2 5 ) . E n r e s u m e n , l o s c o n d i c i o n a l e s i f , e l i f , e l s e l e d a n a t u p r o g r a m a l a c a p a c i d a d d e p e n s a r y r e a c c i o n a r d e f o r m a d i f e r e n t e s e g ú n l o q u e e s t é s u c e d i e n d o , h a c i e n d o q u e s e a m u c h o m á s i n t e l i g e n t e y ú t i l .
  • 32.
    PYTHON La hechicera delcódigo B u c l e s : f o r w h i l e ( c o n b r e a k , c o n t i n u e , e l s e ) B u c l e s : R e p e t i r , r e p e t i r y r e p e t i r I m a g i n a q u e t i e n e s q u e h a c e r a l g o m u c h a s v e c e s , c o m o s i f u e r a u n j u e g o . L o s b u c l e s s o n c o m o u n a c a n c i ó n q u e t e d i c e " ¡ h a z l o o t r a v e z ! " o u n a r e g l a q u e d i c e " ¡ s i g u e h a c i e n d o e s t o h a s t a q u e . . . ! " ¡ C l a r o q u e s í ! C o n g u s t o t e e x p l i c o l o s b u c l e s c o m o s i f u e r a p a r a u n n i ñ o d e 3 a ñ o s , c o n e j e m p l o s d i v e r t i d o s . B u c l e s : R e p e t i r , r e p e t i r y r e p e t i r I m a g i n a q u e t i e n e s q u e h a c e r a l g o m u c h a s v e c e s , c o m o s i f u e r a u n j u e g o . L o s b u c l e s s o n c o m o u n a c a n c i ó n q u e t e d i c e " ¡ h a z l o o t r a v e z ! " o u n a r e g l a q u e d i c e " ¡ s i g u e h a c i e n d o e s t o h a s t a q u e . . . ! " 1 . f o r : " H a z l o p o r c a d a c o s a " I m a g i n a q u e t i e n e s u n a c a j a l l e n a d e j u g u e t e s . E l b u c l e f o r e s c o m o s i t e d i j e r a n : " ¡ P O R C A D A j u g u e t e e n l a c a j a , d a l e u n a b r a z o ! "
  • 33.
  • 34.
    PYTHON La hechicera delcódigo P Y T H O N j u g u e t e s = [ " o s o " , " m u ñ e c a " , " c a r r o " ] f o r m i _ j u g u e t e i n j u g u e t e s : p r i n t ( f " ¡ A b r a z o a m i { m i _ j u g u e t e } ! " ) L o q u e h a c e : A b r a z o a m i o s o ! A b r a z o a m i m u ñ e c a ! A b r a z o a m i c a r r o ! 2 . w h i l e : " S i g u e h a c i e n d o e s t o M I E N T R A S s e a v e r d a d " E l b u c l e w h i l e e s c o m o c u a n d o t u m a m á t e d i c e : " M I E N T R A S t u c u a r t o e s t é d e s o r d e n a d o , ¡ s i g u e r e c o g i e n d o t u s j u g u e t e s ! " T ú s i g u e s r e c o g i e n d o h a s t a q u e t u c u a r t o e s t é o r d e n a d o .
  • 35.
    PYTHON La hechicera delcódigo P Y T H O N n u m _ g a l l e t a s = 3 w h i l e n u m _ g a l l e t a s > 0 : p r i n t ( f " ¡ M e c o m o u n a g a l l e t a ! Q u e d a n { n u m _ g a l l e t a s } g a l l e t a s . " ) n u m _ g a l l e t a s = n u m _ g a l l e t a s - 1 # L e q u i t a m o s 1 g a l l e t a p r i n t ( " ¡ S e a c a b a r o n l a s g a l l e t a s ! " ) L o q u e h a c e : ¡ M e c o m o u n a g a l l e t a ! Q u e d a n 3 g a l l e t a s . ¡ M e c o m o u n a g a l l e t a ! Q u e d a n 2 g a l l e t a s . ¡ M e c o m o u n a g a l l e t a ! Q u e d a n 1 g a l l e t a s . ¡ S e a c a b a r o n l a s g a l l e t a s ! T r u c o s e s p e c i a l e s p a r a w h i l e : b r e a k ( ¡ P a r a ! ) : I m a g i n a q u e e s t á s c o m i e n d o g a l l e t a s y d e r e p e n t e ¡ t e d a d o l o r d e p a n z a ! N o q u i e r e s m á s . b r e a k e s c o m o d e c i r " ¡ P a r a y a e l b u c l e , n o s i g a s ! " .
  • 36.
    PYTHON La hechicera delcódigo P Y T H O N g a l l e t a s = 5 w h i l e g a l l e t a s > 0 : p r i n t ( f " C o m i e n d o g a l l e t a . . . Q u e d a n { g a l l e t a s } . " ) i f g a l l e t a s = = 3 : p r i n t ( " ¡ O h n o , m e d u e l e l a p a n z a ! ¡ P A R A R ! " ) b r e a k # A q u í s e d e t i e n e e l b u c l e g a l l e t a s - = 1 C o m i e n d o g a l l e t a . . . Q u e d a n 5 . C o m i e n d o g a l l e t a . . . Q u e d a n 4 . ¡ O h n o , m e d u e l e l a p a n z a ! ¡ P A R A R ! c o n t i n u e ( ¡ S á l t a t e e s t o ! ) : I m a g i n a q u e e s t á s b u s c a n d o t u s j u g u e t e s , p e r o e n c u e n t r a s u n o r o t o . D i c e s " ¡ S á l t a t e e s t e , n o l o r e c o j o , b u s c o e l s i g u i e n t e ! " . c o n t i n u e e s c o m o d e c i r " ¡ S á l t a t e e s t a v e z y v e a l a s i g u i e n t e ! " .
  • 37.
    P Y TH O N P Y T H O N PYTHON La hechicera del código n u m e r o s = [ 1 , 2 , 3 , 4 , 5 ] f o r n u m i n n u m e r o s : i f n u m = = 3 : p r i n t ( f " ¡ E l { n u m } e s e s p e c i a l ! ¡ S A L T A R ! " ) c o n t i n u e # S e s a l t a e l r e s t o d e l c ó d i g o p a r a 3 y v a a l s i g u i e n t e n ú m e r o p r i n t ( f " C o n t a n d o : { n u m } " ) c o n t a d o r = 0 w h i l e c o n t a d o r < 3 : p r i n t ( f " C o n t a n d o . . . { c o n t a d o r } " ) c o n t a d o r + = 1 e l s e : # E s t o s e e j e c u t a S O L O s i e l b u c l e t e r m i n ó n o r m a l m e n t e p r i n t ( " ¡ T e r m i n é d e c o n t a r ! " ) C o n t a n d o : 1 C o n t a n d o : 2 ¡ E l 3 e s e s p e c i a l ! ¡ S A L T A R ! C o n t a n d o : 4 C o n t a n d o : 5 e l s e ( ¡ C u a n d o t e r m i n a s ! ) : S i e l b u c l e w h i l e t e r m i n a s o l i t o ( p o r q u e l a c o n d i c i ó n s e h i z o f a l s a ) , p u e d e s d e c i r " ¡ Y a q u e t e r m i n a m o s t o d o , h a g a m o s o t r a c o s a ! " . C o n t a n d o . . . 0 C o n t a n d o . . . 1 C o n t a n d o . . . 2 ¡ T e r m i n é d e c o n t a r ! ¡ A s í f u n c i o n a n l o s b u c l e s ! T e a y u d a n a r e p e t i r c o s a s s i n t e n e r q u e e s c r i b i r l o m i s m o u n a y o t r a v e z .
  • 38.
    PYTHON La hechicera delcódigo F u n c i o n e s ú t i l e s e n b u c l e s : Función Descripción Ejemplo range() Crea una secuencia de números. Es como una lista que no existe en la memoria, pero que puedes usar para repetir un bucle un número específico de veces. Puedes decirle dónde empezar, dónde terminar y de cuánto en cuánto quieres que cuente. for i in range(5): <br> (Se repite 5 veces, con i tomando los valores 0, 1, 2, 3, 4) enumerate() Asocia un índice a cada elemento. Imagina que numeras cada artículo de una lista para no perder la cuenta. enumerate() te da la posición (el índice) y el valor de cada elemento. for i, fruta in enumerate(['manzana', 'pera']):<br> (i = 0, fruta = 'manzana'; i = 1, fruta = 'pera') zip() Combina dos o más listas elemento por elemento. Es como si unieras dos o más listas con un cierre, creando pares (o tuplas) de elementos que puedes recorrer juntos. nombres = ['Ana', 'Juan']<br>edades = [25, 30]<br>for n, e in zip(nombres, edades):<br> (n = 'Ana', e = 25; n = 'Juan', e = 30) min() Encuentra el valor más bajo. Puedes usarla dentro de un bucle para comparar valores y saber cuál es el más pequeño. numeros = [10, 5, 20]<br>min(numeros) <br>(Devuelve 5) max() Encuentra el valor más alto. Es el opuesto de min(). numeros = [10, 5, 20]<br>max(numeros) <br>(Devuelve 20) sum() Suma todos los elementos. numeros = [10, 5, 20]<br>sum(numeros) <br>(Devuelve 35)
  • 39.
    PYTHON La hechicera delcódigo L i s t c o m p r e h e n s i o n ¿ Q u é e s L i s t C o m p r e h e n s i o n ? I m a g i n a q u e t i e n e s q u e h a c e r u n a l i s t a n u e v a a p a r t i r d e u n a l i s t a q u e y a t i e n e s . T r a d i c i o n a l m e n t e , l o h a r í a s c o n u n b u c l e f o r , c o m o s i e s t u v i e r a s l l e n a n d o u n a c a n a s t a u n o p o r u n o . L i s t C o m p r e h e n s i o n e s c o m o u n a m á q u i n a m á g i c a q u e h a c e l o m i s m o , p e r o e n u n a s o l a l í n e a d e c ó d i g o , m á s r á p i d o y d e f o r m a m á s e l e g a n t e . E s u n a m a n e r a " i n t e l i g e n t e " d e c r e a r l i s t a s . C ó m o f u n c i o n a ( L a r e c e t a m á g i c a ) L a e s t r u c t u r a e s m u y s e n c i l l a : [ e x p r e s i ó n f o r e l e m e n t o i n l i s t a ] Parte Significado Ejemplo Expresión Lo que quieres hacer con cada elemento. i * 2 (multiplicar por 2) for La palabra mágica que inicia el bucle. for elemento Una variable temporal para cada elemento de la lista. i in lista La lista original que quieres recorrer. números Exportar a Hojas de cálculo
  • 40.
    PYTHON La hechicera delcódigo C l a r o , t e e x p l i c o e l c o n c e p t o d e L i s t C o m p r e h e n s i o n d e m a n e r a m u y s i m p l e . ¿ Q u é e s L i s t C o m p r e h e n s i o n ? I m a g i n a q u e t i e n e s q u e h a c e r u n a l i s t a n u e v a a p a r t i r d e u n a l i s t a q u e y a t i e n e s . T r a d i c i o n a l m e n t e , l o h a r í a s c o n u n b u c l e f o r , c o m o s i e s t u v i e r a s l l e n a n d o u n a c a n a s t a u n o p o r u n o . L i s t C o m p r e h e n s i o n e s c o m o u n a m á q u i n a m á g i c a q u e h a c e l o m i s m o , p e r o e n u n a s o l a l í n e a d e c ó d i g o , m á s r á p i d o y d e f o r m a m á s e l e g a n t e . E s u n a m a n e r a " i n t e l i g e n t e " d e c r e a r l i s t a s . C ó m o f u n c i o n a ( L a r e c e t a m á g i c a ) L a e s t r u c t u r a e s m u y s e n c i l l a : [ e x p r e s i ó n f o r e l e m e n t o i n l i s t a ] P a r t e S i g n i f i c a d o E j e m p l o E x p r e s i ó n L o q u e q u i e r e s h a c e r c o n c a d a e l e m e n t o . i * 2 ( m u l t i p l i c a r p o r 2 ) f o r L a p a l a b r a m á g i c a q u e i n i c i a e l b u c l e . f o r e l e m e n t o U n a v a r i a b l e t e m p o r a l p a r a c a d a e l e m e n t o d e l a l i s t a . i i n l i s t a L a l i s t a o r i g i n a l q u e q u i e r e s r e c o r r e r . n u m e r o s E x p o r t a r a H o j a s d e c á l c u l o E j e m p l o : S i n L i s t C o m p r e h e n s i o n v s . C o n L i s t C o m p r e h e n s i o n S u p o n g a m o s q u e t i e n e s u n a l i s t a d e n ú m e r o s y q u i e r e s c r e a r u n a n u e v a l i s t a c o n c a d a n ú m e r o m u l t i p l i c a d o p o r 2 . M é t o d o 1 : U s a n d o u n b u c l e f o r ( L a f o r m a t r a d i c i o n a l )
  • 41.
    PYTHON La hechicera delcódigo P Y T H O N P Y T H O N n u m e r o s = [ 1 , 2 , 3 , 4 , 5 ] n u m e r o s _ d o b l e = [ ] # L i s t a v a c í a p a r a g u a r d a r l o s r e s u l t a d o s f o r n u m e r o i n n u m e r o s : n u m e r o s _ d o b l e . a p p e n d ( n u m e r o * 2 ) p r i n t ( n u m e r o s _ d o b l e ) # S a l i d a : [ 2 , 4 , 6 , 8 , 1 0 ] n u m e r o s = [ 1 , 2 , 3 , 4 , 5 ] n u m e r o s _ d o b l e = [ n u m e r o * 2 f o r n u m e r o i n n u m e r o s ] p r i n t ( n u m e r o s _ d o b l e ) # S a l i d a : [ 2 , 4 , 6 , 8 , 1 0 ] M é t o d o 2 : U s a n d o L i s t C o m p r e h e n s i o n ( L a f o r m a m á g i c a ) C o m o p u e d e s v e r , L i s t C o m p r e h e n s i o n l o g r a e l m i s m o r e s u l t a d o d e u n a m a n e r a m u c h o m á s l i m p i a y c o m p a c t a . E s u n a h e r r a m i e n t a m u y p o d e r o s a y c o m ú n e n P y t h o n .
  • 42.
    PYTHON La hechicera delcódigo 5. Funciones F u n c i o n e s : E l a r t e d e o r g a n i z a r t u c ó d i g o C l a r o , c o n g u s t o t e o f r e z c o u n r e s u m e n d e e s t o s c o n c e p t o s c l a v e e n P y t h o n . F u n c i o n e s : E l a r t e d e o r g a n i z a r t u c ó d i g o L a s f u n c i o n e s s o n c o m o r e c e t a s q u e a g r u p a n u n c o n j u n t o d e i n s t r u c c i o n e s . E n l u g a r d e e s c r i b i r e l m i s m o c ó d i g o u n a y o t r a v e z , l o p o n e s e n u n a f u n c i ó n y l a l l a m a s c u a n d o l a n e c e s i t a s . Concepto Descripción Crear funciones (def) Usas la palabra def para definir tu "receta" y le das un nombre. Todo lo que esté dentro de la función (con sangría) es parte de ella. return y funciones dinámicas Con return, tu función puede entregar un resultado. Es como si una calculadora te "devuelve" el número que calculó. Esto las hace dinámicas, ya que pueden generar un resultado diferente cada vez que las llamas con distintos datos. Interacción entre funciones Una función puede llamar a otra función. Es como si una receta principal te dijera: "Ahora, sigue la receta del pastel, y cuando termines, trae el resultado para continuar".
  • 43.
    PYTHON La hechicera delcódigo A r g u m e n t o s y f l e x i b i l i d a d H e r r a m i e n t a s c l a v e L o s a r g u m e n t o s s o n l o s i n g r e d i e n t e s q u e l e d a s a u n a f u n c i ó n p a r a q u e t r a b a j e . Concepto Descripción *args (Argumentos indefinidos) Te permite pasar un número variable de argumentos a una función. Python los agrupa en una tupla. Es como si una receta dijera: "Necesito especias, ¡puedes darme tantas como quieras!". **kwargs (Argumentos de palabra clave) Similar a *args, pero para argumentos que tienen un nombre (clave=valor). Python los agrupa en un diccionario. Es como si la receta dijera: "Dame los ingredientes con su nombre: sal=una_pizca, azucar=una_cucharada". Concepto Descripción Funciones anónimas (lambda) Son funciones muy cortas que puedes definir en una sola línea, sin darles un nombre formal. Son útiles para tareas rápidas y simples. Documentación (help() y __doc__) Python te permite documentar tu código. __doc__ es donde guardas la descripción de la función, y help() es la herramienta que te ayuda a leer esa documentación. Es como un manual de usuario para tu código.
  • 44.
    PYTHON La hechicera delcódigo 6. Manejo de Archivos y Directorios 📂 M a n e j o d e A r c h i v o s y D i r e c t o r i o s E s t o s c o n c e p t o s t e p e r m i t e n q u e t u s p r o g r a m a s i n t e r a c t ú e n c o n a r c h i v o s y c a r p e t a s e n t u c o m p u t a d o r a , c o m o s i f u e r a n u n b i b l i o t e c a r i o y u n a r c h i v a d o r . A b r i r y L e e r A r c h i v o s ( o p e n ( ) , r e a d ( ) , w r i t e ( ) , w i t h ) : o p e n ( ) e s l a f u n c i ó n q u e t e p e r m i t e a b r i r u n a r c h i v o . L e d i c e s e l n o m b r e y s i q u i e r e s l e e r l o ( ' r ' ) o e s c r i b i r e n é l ( ' w ' ) . r e a d ( ) e s p a r a l e e r e l c o n t e n i d o d e l a r c h i v o . w r i t e ( ) e s p a r a e s c r i b i r n u e v o c o n t e n i d o . w i t h : E s l a f o r m a r e c o m e n d a d a d e t r a b a j a r c o n a r c h i v o s . S e a s e g u r a d e q u e e l a r c h i v o s e c i e r r e a u t o m á t i c a m e n t e , i n c l u s o s i h a y e r r o r e s . E s c o m o s i e l b i b l i o t e c a r i o s i e m p r e p u s i e r a e l l i b r o e n s u l u g a r c u a n d o t e r m i n a s d e u s a r l o . M a n i p u l a r D i r e c t o r i o s ( o s , p a t h l i b ) : S o n m ó d u l o s ( b i b l i o t e c a s ) d e P y t h o n q u e t e d a n h e r r a m i e n t a s p a r a t r a b a j a r c o n c a r p e t a s y r u t a s d e a r c h i v o s . o s e s e l m ó d u l o t r a d i c i o n a l y t e p e r m i t e c r e a r , b o r r a r y m o v e r d i r e c t o r i o s . p a t h l i b e s e l m ó d u l o m o d e r n o , m á s s e n c i l l o e i n t u i t i v o , q u e r e p r e s e n t a l a s r u t a s c o m o o b j e t o s p a r a m a n i p u l a r l a s d e f o r m a m á s s e g u r a . E j e m p l o d e A r q u i t e c t u r a d e D i r e c t o r i o s : L a a r q u i t e c t u r a q u e m e n c i o n a s ( C : U s e r s I s e l a P y t h o n P r o j e c t s ) e s u n a f o r m a d e o r g a n i z a r t u p r o y e c t o d e m a n e r a o r d e n a d a , s e p a r a n d o e l c ó d i g o p r i n c i p a l ( m a i n . p y ) , l o s d a t o s ( d a t a / ) , l a s i m á g e n e s ( i m a g e s / ) y l o s m ó d u l o s d e a y u d a ( m o d u l e s / ) . E s t o e s u n a b u e n a p r á c t i c a p a r a p r o y e c t o s g r a n d e s . L i m p i a r C o n s o l a ( o s . s y s t e m ( ' c l s ' o r ' c l e a r ' ) ) : E s t a f u n c i ó n e j e c u t a u n c o m a n d o d e l s i s t e m a o p e r a t i v o . E n W i n d o w s , o s . s y s t e m ( ' c l s ' ) b o r r a l a p a n t a l l a . E n s i s t e m a s c o m o L i n u x o m a c O S , u s a s o s . s y s t e m ( ' c l e a r ' ) . E s ú t i l p a r a m a n t e n e r l a s a l i d a d e l p r o g r a m a o r d e n a d a y f á c i l d e l e e r .
  • 45.
    PYTHON La hechicera delcódigo P Y T H O N C : U s e r s I s e l a P y t h o n P r o j e c t s ├── m a i n . p y ├── d a t a │ ├── d a t a s e t . c s v │ └── n o t e s . t x t ├── i m a g e s │ ├── l o g o . p n g │ └── p h o t o . j p g └── m o d u l e s └── h e l p e r . p y
  • 46.
    PYTHON La hechicera delcódigo 7. Programación Orientada a Objetos (POO) P r o g r a m a c i ó n O r i e n t a d a a O b j e t o s ( P O O ) L a P O O e s u n a f o r m a d e p r o g r a m a r q u e o r g a n i z a e l c ó d i g o a l r e d e d o r d e " o b j e t o s " e n l u g a r d e s o l o f u n c i o n e s y l ó g i c a . I m a g i n a u n o b j e t o c o m o c u a l q u i e r c o s a d e l m u n d o r e a l , p o r e j e m p l o , u n p e r r o 🐶. C l a s e s y o b j e t o s C l a s e : E s e l " m o l d e " o e l " p l a n o " p a r a c r e a r o b j e t o s . D e s c r i b e q u é a t r i b u t o s y m é t o d o s t e n d r á n . P o r e j e m p l o , l a c l a s e P e r r o d e f i n e q u e t o d o s l o s p e r r o s t i e n e n u n c o l o r , u n n o m b r e y q u e p u e d e n l a d r a r . O b j e t o : E s u n a " i n s t a n c i a " o u n a " c o p i a " e s p e c í f i c a d e l a c l a s e . E s e l p e r r o r e a l q u e c r e a s t e a p a r t i r d e l m o l d e . U n o b j e t o p o d r í a s e r m i _ p e r r o c o n e l n o m b r e " F i d o " y c o l o r " m a r r ó n " . A t r i b u t o s y m é t o d o s A t r i b u t o s : S o n l a s c a r a c t e r í s t i c a s o p r o p i e d a d e s d e u n o b j e t o . S o n l o s d a t o s q u e l o d e s c r i b e n . P a r a n u e s t r o p e r r o , l o s a t r i b u t o s s e r í a n n o m b r e , c o l o r , r a z a . M é t o d o s : S o n l a s a c c i o n e s o c o m p o r t a m i e n t o s q u e u n o b j e t o p u e d e r e a l i z a r . P a r a n u e s t r o p e r r o , l o s m é t o d o s s e r í a n l a d r a r ( ) , c o r r e r ( ) , c o m e r ( ) .
  • 47.
    PYTHON La hechicera delcódigo T i p o s d e m é t o d o s M é t o d o s d e i n s t a n c i a : P e r t e n e c e n a u n o b j e t o e s p e c í f i c o y n e c e s i t a n q u e e l o b j e t o e x i s t a p a r a s e r u s a d o s . M é t o d o s d e c l a s e : P e r t e n e c e n a l a c l a s e e n s í , n o a u n a i n s t a n c i a e s p e c í f i c a . A f e c t a n a l a c l a s e c o m p l e t a . M é t o d o s e s t á t i c o s : S o n m é t o d o s q u e n o n e c e s i t a n n i u n a i n s t a n c i a n i l a c l a s e p a r a f u n c i o n a r . S o n f u n c i o n e s " n o r m a l e s " q u e s e a g r u p a n d e n t r o d e u n a c l a s e p o r c o n v e n i e n c i a . H e r e n c i a y h e r e n c i a e x t e n d i d a H e r e n c i a : P e r m i t e q u e u n a c l a s e " h i j a " h e r e d e l o s a t r i b u t o s y m é t o d o s d e u n a c l a s e " p a d r e " . P o r e j e m p l o , u n a c l a s e G a t o y u n a c l a s e P e r r o p u e d e n h e r e d a r d e u n a c l a s e A n i m a l q u e t i e n e l o s a t r i b u t o s p a t a s y n o m b r e , y e l m é t o d o c o m e r ( ) . H e r e n c i a e x t e n d i d a : L a c l a s e " h i j a " n o s o l o h e r e d a , s i n o q u e t a m b i é n p u e d e a ñ a d i r n u e v o s a t r i b u t o s o m é t o d o s , o m o d i f i c a r l o s q u e h e r e d ó . P o l i m o r f i s m o E s l a c a p a c i d a d d e l o s o b j e t o s d e d i f e r e n t e s c l a s e s p a r a r e s p o n d e r d e m a n e r a d i f e r e n t e a l m i s m o m é t o d o . P o r e j e m p l o , s i t i e n e s u n m é t o d o h a c e r _ s o n i d o ( ) , e l p e r r o r e s p o n d e r í a c o n u n " G u a u " y e l g a t o c o n u n " M i a u " , a u n q u e a m b o s l l a m e n a l m i s m o m é t o d o . M é t o d o s e s p e c i a l e s S o n m é t o d o s q u e s e l l a m a n a u t o m á t i c a m e n t e e n c i e r t a s s i t u a c i o n e s y s u s n o m b r e s c o m i e n z a n y t e r m i n a n c o n d o s g u i o n e s b a j o s ( _ _ ) . _ _ i n i t _ _ : E l " c o n s t r u c t o r " . S e e j e c u t a c u a n d o c r e a s u n o b j e t o . S e u s a p a r a i n i c i a l i z a r s u s a t r i b u t o s . _ _ s t r _ _ : D e v u e l v e u n a r e p r e s e n t a c i ó n d e l o b j e t o e n f o r m a d e c a d e n a d e t e x t o , i d e a l p a r a i m p r i m i r l o y q u e s e a l e g i b l e p a r a e l u s u a r i o . _ _ l e n _ _ : D e v u e l v e l a l o n g i t u d d e l o b j e t o c u a n d o u s a s l a f u n c i ó n l e n ( ) .
  • 48.
    PYTHON La hechicera delcódigo 8. Paquetes, Módulos y Librerías P a q u e t e s , M ó d u l o s y L i b r e r í a s E s t o s s o n c o n c e p t o s c l a v e p a r a o r g a n i z a r y r e u t i l i z a r c ó d i g o e n P y t h o n . P i e n s a e n e l l o s c o m o p i e z a s d e u n s e t d e c o n s t r u c c i ó n q u e p u e d e s u s a r e n t u s p r o y e c t o s . M ó d u l o : U n s i m p l e a r c h i v o d e P y t h o n ( . p y ) q u e c o n t i e n e f u n c i o n e s , c l a s e s y v a r i a b l e s . E s l a u n i d a d m á s b á s i c a . P a q u e t e : U n a c o l e c c i ó n d e m ó d u l o s o r g a n i z a d o s e n d i r e c t o r i o s ( c a r p e t a s ) . U n p a q u e t e t e a y u d a a e s t r u c t u r a r p r o y e c t o s g r a n d e s . L i b r e r í a : U n t é r m i n o m á s a m p l i o q u e s e u s a p a r a r e f e r i r s e a u n a c o l e c c i ó n d e m ó d u l o s y p a q u e t e s q u e h a c e n u n a t a r e a e s p e c í f i c a . U s o p r á c t i c o : I n s t a l a r p a q u e t e s ( p i p i n s t a l l ) : p i p e s l a h e r r a m i e n t a e s t á n d a r p a r a d e s c a r g a r e i n s t a l a r p a q u e t e s d e o t r a s p e r s o n a s . P o r e j e m p l o , p i p i n s t a l l n u m p y t e p e r m i t e u s a r l a l i b r e r í a n u m p y . C r e a r y u s a r m ó d u l o s p r o p i o s : S i t i e n e s u n a r c h i v o u t i l i d a d e s . p y c o n u n a f u n c i ó n , p u e d e s u s a r l o e n t u p r o g r a m a p r i n c i p a l c o n l a l í n e a i m p o r t u t i l i d a d e s . I m p o r t a r l i b r e r í a s e s t á n d a r : P y t h o n y a t r a e m u c h a s l i b r e r í a s l i s t a s p a r a u s a r , c o m o m a t h p a r a m a t e m á t i c a s o r a n d o m p a r a n ú m e r o s a l e a t o r i o s . S o l o n e c e s i t a s i m p o r t a r l a s : i m p o r t r a n d o m .
  • 49.
    PYTHON La hechicera delcódigo M ó d u l o s a v a n z a d o s E s t o s s o n a l g u n o s d e l o s m ó d u l o s m á s ú t i l e s q u e v i e n e n c o n P y t h o n : c o l l e c t i o n s : H e r r a m i e n t a s p a r a t i p o s d e d a t o s e s p e c i a l i z a d o s . P o r e j e m p l o , C o u n t e r q u e c u e n t a l a f r e c u e n c i a d e e l e m e n t o s e n u n a l i s t a , o d e f a u l t d i c t q u e t e a y u d a a t r a b a j a r c o n d i c c i o n a r i o s d e f o r m a m á s s e n c i l l a . o s y s h u t i l : M ó d u l o s p a r a i n t e r a c t u a r c o n e l s i s t e m a o p e r a t i v o . o s e s p a r a m a n e j a r d i r e c t o r i o s y a r c h i v o s , m i e n t r a s q u e s h u t i l e s p a r a o p e r a c i o n e s d e a l t o n i v e l , c o m o c o p i a r o m o v e r a r c h i v o s y c a r p e t a s d e f o r m a s e g u r a . r e ( e x p r e s i o n e s r e g u l a r e s ) : U n m ó d u l o m u y p o d e r o s o p a r a b u s c a r , m a n i p u l a r y v a l i d a r p a t r o n e s e n c a d e n a s d e t e x t o . E s ú t i l p a r a , p o r e j e m p l o , v a l i d a r u n c o r r e o e l e c t r ó n i c o o u n n ú m e r o d e t e l é f o n o . z i p f i l e : T e p e r m i t e c o m p r i m i r y d e s c o m p r i m i r a r c h i v o s e n f o r m a t o Z I P . E s m u y ú t i l p a r a m a n e j a r g r a n d e s v o l ú m e n e s d e d a t o s .
  • 50.
    PYTHON La hechicera delcódigo 9. Testing y Depuración E s t a e s l a f a s e e n l a q u e r e v i s a s y a r r e g l a s t u c ó d i g o p a r a q u e f u n c i o n e c o r r e c t a m e n t e y s i n e r r o r e s . E s c o m o u n d e t e c t i v e q u e b u s c a p i s t a s p a r a e n c o n t r a r f a l l a s . Concepto Descripción Manejo de errores (try, except, finally) Es una forma de "probar" tu código de manera segura. <br>• try: Pones aquí el código que podría fallar. <br>• except: Si algo falla en try, el programa va a except para ejecutar un código alternativo (por ejemplo, mostrar un mensaje de error legible). <br>• finally: Este código siempre se ejecuta, sin importar si hubo un error o no. Es útil para cerrar archivos o limpiar recursos. Buscar errores con pylint Es una herramienta que revisa tu código y te da sugerencias para mejorarlo. No solo encuentra errores, sino que también te ayuda a seguir un estilo de codificación limpio y profesional, haciendo que sea más fácil de leer para otras personas. Pruebas unitarias con unittest Las pruebas unitarias son pequeñas pruebas automatizadas que verifican si una parte específica de tu código (una "unidad", como una función) funciona como esperas. unittest es una librería estándar de Python que te ayuda a escribir y ejecutar estas pruebas de forma organizada.
  • 51.
    PYTHON La hechicera delcódigo 10. Temas Avanzados E s t o s c o n c e p t o s t e l l e v a n m á s a l l á d e l o b á s i c o , p e r m i t i é n d o t e e s c r i b i r c ó d i g o m á s p o t e n t e , f l e x i b l e y o p t i m i z a d o . Concepto Descripción Decoradores Son funciones que "envuelven" a otras funciones para añadirles una funcionalidad extra sin modificar su código original. Por ejemplo, puedes crear un decorador para medir cuánto tiempo tarda en ejecutarse una función. Generadores (yield) Son como funciones que pausan su ejecución y "devuelven" un valor temporalmente. Usan la palabra clave yield. Son muy eficientes para trabajar con grandes cantidades de datos, ya que no guardan toda la información en memoria al mismo tiempo. Medir el tiempo de ejecución (time, timeit) Estos módulos te permiten saber qué tan rápido (o lento) es tu código. time es útil para medir tiempos de forma simple, mientras que timeit es más preciso y está diseñado para probar fragmentos de código. Tkinter – GUI básica Es la librería estándar de Python para crear interfaces gráficas de usuario (GUI). Te permite diseñar ventanas, botones, campos de texto y otros elementos para que tu programa sea más interactivo para el usuario. Extraer elementos de una clase (__dict__, getattr) Son herramientas para inspeccionar objetos. __dict__ es un diccionario que contiene todos los atributos de un objeto, y getattr() es una función que te permite acceder a los atributos de un objeto usando su nombre como una cadena de texto. Extraer imágenes con librerías externas Para tareas más complejas como extraer imágenes de un PDF, manipular fotos o generar gráficos, Python se apoya en librerías de terceros (que se instalan con pip), como Pillow. Estas bibliotecas extienden las capacidades del lenguaje de forma poderosa.
  • 52.
    PYTHON La hechicera delcódigo 11.Manejo de entornos virtuales (venv) I m a g i n a q u e e s t á s t r a b a j a n d o e n d i f e r e n t e s p r o y e c t o s , y c a d a u n o n e c e s i t a u n c o n j u n t o d e h e r r a m i e n t a s d i s t i n t o . P o r e j e m p l o : E l P r o y e c t o A n e c e s i t a l a v e r s i ó n 1 d e u n a h e r r a m i e n t a l l a m a d a " P a n d a s " . E l P r o y e c t o B n e c e s i t a l a v e r s i ó n 2 d e e s a m i s m a h e r r a m i e n t a . S i i n s t a l a s l a s h e r r a m i e n t a s e n t u c o m p u t a d o r a d e f o r m a g l o b a l , p o d r í a s c a u s a r u n c o n f l i c t o , y a q u e u n a v e r s i ó n p o d r í a " p i s a r " a l a o t r a . U n e n t o r n o v i r t u a l e s c o m o c r e a r u n a c a j a d e h e r r a m i e n t a s e x c l u s i v a y a i s l a d a p a r a c a d a p r o y e c t o . E s u n e s p a c i o p r i v a d o d o n d e p u e d e s i n s t a l a r l a s l i b r e r í a s q u e n e c e s i t a s s i n q u e a f e c t e n a t u s o t r o s p r o y e c t o s o a l a i n s t a l a c i ó n g l o b a l d e P y t h o n e n t u c o m p u t a d o r a .
  • 53.
    PYTHON La hechicera delcódigo Sin Entorno Virtual Con Entorno Virtual Concepto Todas las herramientas están en un solo lugar (tu "caja de herramientas principal"). Cada proyecto tiene su propia caja de herramientas privada. Riesgo Los proyectos pueden interferir entre sí. Los proyectos están aislados y no se afectan. Organización Difícil de gestionar las dependencias de cada proyecto. Fácil de replicar y compartir un proyecto con todas sus dependencias. Exportar a Hojas de cálculo Comando Descripción python -m venv nombre_del_entorno Crea una nueva "caja de herramientas" (un entorno virtual). source nombre_del_entorno/bin/activate En Mac/Linux: Activa el entorno virtual para que puedas usarlo. nombre_del_entornoScriptsactivate En Windows: Activa el entorno virtual. pip install nombre_de_libreria Instala una librería, pero solo dentro de la caja de herramientas de tu proyecto. deactivate Te saca del entorno virtual y te regresa a tu instalación global de Python.
  • 54.
    PYTHON La hechicera delcódigo 12.Buenas prácticas y estilo de código (PEP8) L a s b u e n a s p r á c t i c a s y e l e s t i l o d e c ó d i g o ( P E P 8 ) s o n u n c o n j u n t o d e r e g l a s y r e c o m e n d a c i o n e s p a r a e s c r i b i r c ó d i g o e n P y t h o n q u e s e a m á s l e g i b l e , l i m p i o y c o n s i s t e n t e . E s c o m o l a g u í a d e e s t i l o p a r a e s c r i b i r d e f o r m a p r o f e s i o n a l y o r d e n a d a . ¿ P o r q u é s o n i m p o r t a n t e s ? L e g i b i l i d a d : U n c ó d i g o l i m p i o e s m u c h o m á s f á c i l d e l e e r , e n t e n d e r y m a n t e n e r , t a n t o p a r a t i c o m o p a r a o t r o s p r o g r a m a d o r e s . C o n s i s t e n c i a : S i t o d o s s i g u e n l a s m i s m a s r e g l a s , e l c ó d i g o s e v e u n i f o r m e , s i n i m p o r t a r q u i é n l o h a y a e s c r i t o . C o l a b o r a c i ó n : F a c i l i t a e l t r a b a j o e n e q u i p o , y a q u e n o t i e n e s q u e d e s c i f r a r u n e s t i l o d e c o d i f i c a c i ó n d i f e r e n t e e n c a d a p r o y e c t o . P r i n c i p a l e s r e c o m e n d a c i o n e s d e l a P E P 8
  • 55.
    PYTHON La hechicera delcódigo Regla Descripción Ejemplo de la vida real GUI Significa Graphical User Interface. Es lo que te permite interactuar con un programa usando elementos visuales como ventanas, iconos, menús, etc., en lugar de solo escribir comandos. La pantalla de tu celular o la ventana de un programa en tu computadora. Tkinter Es la librería estándar de Python para construir esas GUI. Piensa en ella como una caja de herramientas con todas las piezas (ventanas, botones, etiquetas) que necesitas. Un set de LEGO para construir casas pequeñas. Ventana (root) Es el contenedor principal de tu programa. Como el marco de una fotografía donde irán todos los demás elementos. La pantalla completa de una aplicación. Widgets Son los "elementos" que pones dentro de la ventana. Cada botón, cada etiqueta, cada caja de texto es un widget. Los botones, perillas o pantallas de un radio. Eventos Son las acciones que el usuario realiza (hacer clic en un botón, escribir en una caja). Tkinter te permite que tu programa "reaccione" a estos eventos. Cuando presionas un botón en tu celular y algo sucede.
  • 56.
    PYTHON La hechicera delcódigo 13.Tkinter (GUI) T k i n t e r : C o n s t r u y e n d o v e n t a n a s y b o t o n e s p a r a t u s p r o g r a m a s I m a g i n a q u e q u i e r e s q u e t u p r o g r a m a d e P y t h o n n o s e a s o l o t e x t o e n u n a p a n t a l l a n e g r a , s i n o q u e t e n g a u n a v e n t a n a b o n i t a c o n b o t o n e s q u e p u e d a s p r e s i o n a r , c a j a s d o n d e e s c r i b i r t e x t o y e t i q u e t a s q u e m u e s t r e n i n f o r m a c i ó n . T k i n t e r e s e l " k i t d e c o n s t r u c c i ó n " q u e P y t h o n y a t r a e i n c o r p o r a d o p a r a h a c e r p r e c i s a m e n t e e s o : c r e a r I n t e r f a c e s G r á f i c a s d e U s u a r i o ( G U I ) .
  • 57.
    PYTHON La hechicera delcódigo Regla Descripción Sangría Usa 4 espacios por cada nivel de sangría. Nunca uses tabulaciones. Longitud de línea Limita cada línea a un máximo de 79 caracteres. Esto hace que el código sea fácil de leer en cualquier pantalla. Nombres de variables Usa nombres descriptivos en minúsculas, separados por guiones bajos (_). Por ejemplo: nombre_de_usuario. Nombres de funciones Sigue las mismas reglas que para las variables. Ejemplo: calcular_total(). Nombres de clases Usa el formato "CamelCase" (cada palabra con mayúscula inicial). Ejemplo: MiClaseDeEjemplo. Espacios en blanco Añade espacios alrededor de los operadores (=, +, -) y después de las comas. Comentarios Mantén los comentarios claros y concisos, y úsalos para explicar por qué el código hace algo, no qué hace. Líneas en blanco Usa líneas en blanco para separar funciones y bloques lógicos de código.
  • 58.
    PYTHON La hechicera delcódigo P Y T H O N i m p o r t t k i n t e r a s t k # I m p o r t a m o s e l " k i t d e c o n s t r u c c i ó n " v e n t a n a = t k . T k ( ) # C r e a m o s n u e s t r a p r i m e r a v e n t a n a ( e l m a r c o ) v e n t a n a . t i t l e ( " M i P r i m e r a A p p " ) # L e p o n e m o s u n t í t u l o a l a v e n t a n a e t i q u e t a = t k . L a b e l ( v e n t a n a , t e x t = " ¡ H o l a , m u n d o ! " ) # C r e a m o s u n a e t i q u e t a d e t e x t o e t i q u e t a . p a c k ( ) # C o l o c a m o s l a e t i q u e t a d e n t r o d e l a v e n t a n a b o t o n = t k . B u t t o n ( v e n t a n a , t e x t = " H a z c l i c " ) # C r e a m o s u n b o t ó n b o t o n . p a c k ( ) # C o l o c a m o s e l b o t ó n v e n t a n a . m a i n l o o p ( ) # H a c e m o s q u e l a v e n t a n a s e q u e d e a b i e r t a y e s p e r a n d o q u e e l u s u a r i o h a g a a l g o C u a n d o e j e c u t e s e s t e c ó d i g o , ¡ a p a r e c e r á u n a p e q u e ñ a v e n t a n a c o n e l t e x t o " ¡ H o l a , m u n d o ! " y u n b o t ó n ! E n r e s u m e n , T k i n t e r t e p e r m i t e d a r l e u n a " c a r a " v i s u a l a t u s p r o g r a m a s d e P y t h o n , h a c i é n d o l o s m u c h o m á s a m i g a b l e s e i n t e r a c t i v o s p a r a c u a l q u i e r p e r s o n a . ¿ C ó m o s e v e e n P y t h o n ( e j e m p l o m u y s i m p l e ) ?
  • 59.
    PYTHON La hechicera delcódigo 14.Extraer imágenes (Pillow) P i l l o w : L a f o r m a f á c i l d e t r a b a j a r c o n i m á g e n e s e n P y t h o n P i l l o w e s u n a d e l a s l i b r e r í a s m á s p o p u l a r e s y p o d e r o s a s e n P y t h o n p a r a a b r i r , m a n i p u l a r y g u a r d a r i m á g e n e s e n d i f e r e n t e s f o r m a t o s . P i e n s a e n e l l a c o m o u n e d i t o r d e i m á g e n e s s ú p e r p o t e n t e , p e r o e n f o r m a d e c ó d i g o . P a s o a p a s o p a r a e x t r a e r u n a i m a g e n E l p r o c e s o g e n e r a l p a r a t r a b a j a r c o n i m á g e n e s u s a n d o P i l l o w e s m u y s e n c i l l o : 1 . I n s t a l a c i ó n P r i m e r o , n e c e s i t a s i n s t a l a r l a l i b r e r í a . C o m o n o v i e n e i n c l u i d a c o n P y t h o n , d e b e s u s a r p i p : p i p i n s t a l l P i l l o w 2 . C a r g a r l a i m a g e n P a r a a b r i r u n a r c h i v o d e i m a g e n , u s a s l a f u n c i ó n I m a g e . o p e n ( ) .
  • 60.
    PYTHON La hechicera delcódigo P Y T H O N P Y T H O N f r o m P I L i m p o r t I m a g e # R e e m p l a z a ' n o m b r e _ d e _ m i _ i m a g e n . j p g ' c o n l a r u t a d e t u a r c h i v o i m a g e n = I m a g e . o p e n ( ' n o m b r e _ d e _ m i _ i m a g e n . j p g ' ) # D e f i n i m o s l a s c o o r d e n a d a s p a r a e l r e c o r t e ( i z q u i e r d a , a r r i b a , d e r e c h a , a b a j o ) c a j a _ d e _ r e c o r t e = ( 1 0 0 , 1 0 0 , 4 0 0 , 4 0 0 ) # E x t r a e m o s l a p a r t e d e l a i m a g e n d e n t r o d e e s a c a j a i m a g e n _ e x t r a i d a = i m a g e n . c r o p ( c a j a _ d e _ r e c o r t e ) 3 . M a n i p u l a r o e x t r a e r ( o p c i o n a l ) U n a v e z q u e l a i m a g e n e s t á c a r g a d a e n u n a v a r i a b l e , p u e d e s h a c e r m u c h a s c o s a s c o n e l l a . P o r e j e m p l o , p a r a e x t r a e r u n a p a r t e d e l a i m a g e n , u s a s e l m é t o d o c r o p ( ) .
  • 61.
    PYTHON La hechicera delcódigo 4 . G u a r d a r l a i m a g e n F i n a l m e n t e , s i q u i e r e s g u a r d a r l a i m a g e n m o d i f i c a d a o e x t r a í d a , u s a s e l m é t o d o s a v e ( ) . P Y T H O N # G u a r d a m o s l a i m a g e n e x t r a í d a c o n u n n u e v o n o m b r e i m a g e n _ e x t r a i d a . s a v e ( ' m i _ n u e v a _ i m a g e n . p n g ' ) R e s u m e n : P a s o 1 : I n s t a l a P i l l o w . P a s o 2 : A b r e l a i m a g e n c o n I m a g e . o p e n ( ) . P a s o 3 : U s a c r o p ( ) p a r a e x t r a e r l a p a r t e q u e t e i n t e r e s a . P a s o 4 : G u a r d a e l r e s u l t a d o c o n s a v e ( ) . P i l l o w e s l a h e r r a m i e n t a p e r f e c t a p a r a c u a l q u i e r t a r e a r e l a c i o n a d a c o n i m á g e n e s q u e n e c e s i t e s h a c e r c o n P y t h o n , d e s d e e x t r a e r p a r t e s h a s t a r e d i m e n s i o n a r , r o t a r o a p l i c a r f i l t r o s .
  • 62.
    P a nd a s : E l E x c e l d e P y t h o n p a r a a n a l i z a r d a t o s 📊 I m a g i n a q u e t i e n e s u n a g r a n c a n t i d a d d e d a t o s , c o m o u n a t a b l a d e E x c e l c o n f i l a s y c o l u m n a s . P a n d a s e s l a l i b r e r í a d e P y t h o n q u e t e p e r m i t e t r a b a j a r c o n e s o s d a t o s d e f o r m a m u y e f i c i e n t e , c o m o s i f u e r a u n s u p e r p o d e r o s o E x c e l p r o g r a m a b l e . E s t r u c t u r a s d e d a t o s c l a v e d e P a n d a s P a n d a s s e b a s a e n d o s e s t r u c t u r a s d e d a t o s p r i n c i p a l e s : 1 . S e r i e s U n a S e r i e s e s c o m o u n a s o l a c o l u m n a d e u n a t a b l a d e E x c e l . E s u n a l i s t a d e d a t o s c o n u n í n d i c e . E j e m p l o : U n a l i s t a d e l a s e d a d e s d e v a r i a s p e r s o n a s . PYTHON La hechicera del código 15.Pandas Manipulación de datos 2 . D a t a F r a m e U n D a t a F r a m e e s c o m o u n a t a b l a c o m p l e t a d e E x c e l , c o n f i l a s y c o l u m n a s . E s l a e s t r u c t u r a m á s u s a d a e n P a n d a s y e s i d e a l p a r a d a t o s t a b u l a r e s . E j e m p l o : U n a t a b l a c o n n o m b r e s , e d a d e s y c i u d a d e s d e p e r s o n a s .
  • 63.
    Nombre Edad Ciudad 0Simba 1 Simbalandia 1 Luffy 13 One Pice 2 Inaya 128 Nevermore PYTHON La hechicera del código ¿ P a r a q u é s e u s a P a n d a s ? P a n d a s e s l a h e r r a m i e n t a f u n d a m e n t a l p a r a e l a n á l i s i s d e d a t o s . T e p e r m i t e : L e e r d a t o s : P u e d e l e e r a r c h i v o s d e m u c h o s f o r m a t o s ( C S V , E x c e l , J S O N , e t c . ) y c o n v e r t i r l o s e n u n D a t a F r a m e . L i m p i a r d a t o s : T e a y u d a a e n c o n t r a r y m a n e j a r d a t o s f a l t a n t e s , d u p l i c a d o s o i n c o r r e c t o s . F i l t r a r y s e l e c c i o n a r : P u e d e s b u s c a r y s e l e c c i o n a r f i l a s o c o l u m n a s e s p e c í f i c a s c o n g r a n f a c i l i d a d . A g r u p a r y r e s u m i r : T e p e r m i t e h a c e r c á l c u l o s c o m o p r o m e d i o s , s u m a s o c o n t a r e l e m e n t o s , a g r u p a n d o l a i n f o r m a c i ó n p o r c a t e g o r í a s . E n r e s u m e n , s i t r a b a j a s c o n d a t o s e n f o r m a d e t a b l a s , P a n d a s e s l a h e r r a m i e n t a e s e n c i a l q u e t e a h o r r a r á m u c h í s i m o t i e m p o y t e p e r m i t i r á h a c e r a n á l i s i s c o m p l e j o s d e m a n e r a p r o g r a m á t i c a .
  • 64.
    PYTHON La hechicera delcódigo E j e m p l o d e u s o d e P a n d a s : U n l i s t a d o d e p r o d u c t o s I m a g i n a q u e t i e n e s u n a l i s t a d e p r o d u c t o s e n t u t i e n d a y q u i e r e s a n a l i z a r l o s . E n l u g a r d e u s a r u n a h o j a d e c á l c u l o , l o h a r á s c o n c ó d i g o P y t h o n u s a n d o P a n d a s . P a s o 1 : I m p o r t a r l a l i b r e r í a P r i m e r o , n e c e s i t a s i m p o r t a r P a n d a s , q u e p o r c o n v e n c i ó n s e u s a c o n e l a l i a s p d . P Y T H O N i m p o r t p a n d a s a s p d P a s o 2 : C r e a r e l D a t a F r a m e ( t u t a b l a d e d a t o s ) A h o r a , c r e a m o s u n d i c c i o n a r i o c o n l o s d a t o s . C a d a c l a v e s e r á u n a c o l u m n a , y l o s v a l o r e s s e r á n l o s d a t o s d e e s a c o l u m n a . L u e g o , u s a m o s p d . D a t a F r a m e ( ) p a r a c o n v e r t i r l o e n u n a t a b l a d e P a n d a s .
  • 65.
    PYTHON La hechicera delcódigo P Y T H O N d a t o s = { ' P r o d u c t o ' : [ ' L a p t o p ' , ' M o u s e ' , ' T e c l a d o ' , ' M o n i t o r ' , ' A u d í f o n o s ' ] , ' P r e c i o ' : [ 1 2 0 0 , 2 5 , 7 5 , 3 0 0 , 5 0 ] , ' S t o c k ' : [ 1 5 , 5 0 , 3 0 , 1 0 , 2 5 ] } d f = p d . D a t a F r a m e ( d a t o s ) p r i n t ( " T a b l a d e d a t o s ( D a t a F r a m e ) : " ) p r i n t ( d f ) Producto Precio Stock 0 Laptop 1200 15 1 Mouse 25 50 2 Teclado 75 30 3 Monitor 300 10 4 Audífonos 50 25
  • 66.
    PYTHON La hechicera delcódigo P a s o 3 : R e a l i z a r u n a n á l i s i s s i m p l e A h o r a q u e t i e n e s l o s d a t o s e n u n D a t a F r a m e , p u e d e s h a c e r p r e g u n t a s y o b t e n e r r e s p u e s t a s f á c i l m e n t e . S e l e c c i o n a r u n a c o l u m n a : P Y T H O N P Y T H O N # M u e s t r a s o l o l a c o l u m n a ' P r e c i o ' p r i n t ( " n S o l o l a c o l u m n a d e p r e c i o s : " ) p r i n t ( d f [ ' P r e c i o ' ] ) # M u e s t r a l o s p r o d u c t o s c o n u n p r e c i o m e n o r a $ 1 0 0 p r i n t ( " n P r o d u c t o s c o n p r e c i o m e n o r a $ 1 0 0 : " ) p r o d u c t o s _ e c o n o m i c o s = d f [ d f [ ' P r e c i o ' ] < 1 0 0 ] p r i n t ( p r o d u c t o s _ e c o n o m i c o s ) F i l t r a r d a t o s :
  • 67.
    PYTHON La hechicera delcódigo C a l c u l a r u n a e s t a d í s t i c a : P Y T H O N # C a l c u l a e l p r e c i o p r o m e d i o d e t o d o s l o s p r o d u c t o s p r e c i o _ p r o m e d i o = d f [ ' P r e c i o ' ] . m e a n ( ) p r i n t ( f " n E l p r e c i o p r o m e d i o d e l o s p r o d u c t o s e s : $ { p r e c i o _ p r o m e d i o } " ) C o m o p u e d e s v e r , P a n d a s t e p e r m i t e m a n i p u l a r l o s d a t o s d e m a n e r a m u y i n t u i t i v a y p o d e r o s a , s i m i l a r a c o m o l o h a r í a s e n E x c e l , p e r o c o n l a f l e x i b i l i d a d y e l p o d e r d e l a p r o g r a m a c i ó n .
  • 68.
    PYTHON La hechicera delcódigo 16.Scikit-learn para algoritmos de ML S c i k i t - l e a r n : L a n a v a j a s u i z a d e l M a c h i n e L e a r n i n g 🤖 I m a g i n a q u e q u i e r e s e n s e ñ a r l e a u n a c o m p u t a d o r a a r e c o n o c e r p a t r o n e s y t o m a r d e c i s i o n e s , c o m o p r e d e c i r e l p r e c i o d e u n a c a s a o c l a s i f i c a r i m á g e n e s . E s e p r o c e s o s e l l a m a a p r e n d i z a j e a u t o m á t i c o ( M L ) . S c i k i t - l e a r n ( a m e n u d o a b r e v i a d o c o m o s k l e a r n ) e s l a l i b r e r í a m á s p o p u l a r e n P y t h o n p a r a h a c e r p r e c i s a m e n t e e s o . N o e s u n a l i b r e r í a p a r a c r e a r r e d e s n e u r o n a l e s c o m p l e j a s , s i n o q u e s e e s p e c i a l i z a e n l o s a l g o r i t m o s d e M L m á s c o m u n e s y ú t i l e s , l o q u e l a h a c e p e r f e c t a p a r a p r i n c i p i a n t e s y e x p e r t o s p o r i g u a l . ¿ Q u é p u e d e s h a c e r c o n S c i k i t - l e a r n ? P u e d e s u s a r l a p a r a r e s o l v e r l o s p r o b l e m a s d e M L m á s c o m u n e s : C l a s i f i c a c i ó n : A g r u p a r d a t o s e n c a t e g o r í a s . P o r e j e m p l o , c l a s i f i c a r c o r r e o s e l e c t r ó n i c o s c o m o " s p a m " o " n o - s p a m " . R e g r e s i ó n : P r e d e c i r u n v a l o r n u m é r i c o c o n t i n u o . P o r e j e m p l o , p r e d e c i r e l p r e c i o d e u n a c a s a b a s á n d o s e e n s u t a m a ñ o y u b i c a c i ó n . C l u s t e r i n g : E n c o n t r a r g r u p o s o c u l t o s e n l o s d a t o s . P o r e j e m p l o , a g r u p a r a c l i e n t e s c o n c o m p o r t a m i e n t o s d e c o m p r a s i m i l a r e s p a r a s e g m e n t a r e l m e r c a d o . R e d u c c i ó n d e d i m e n s i o n a l i d a d : S i m p l i f i c a r c o n j u n t o s d e d a t o s m u y g r a n d e s . ¿ C ó m o s e u s a ? S c i k i t - l e a r n t i e n e u n a e s t r u c t u r a m u y c o n s i s t e n t e y f á c i l d e u s a r . E l p r o c e s o g e n e r a l p a r a l a m a y o r í a d e l o s m o d e l o s e s e l s i g u i e n t e : I m p o r t a r : I m p o r t a s l a c l a s e d e l m o d e l o q u e q u i e r e s u s a r . I n s t a n c i a r : C r e a s u n a " i n s t a n c i a " d e l m o d e l o ( e l o b j e t o ) . E n t r e n a r : U s a s e l m é t o d o . f i t ( ) p a r a " e n t r e n a r " e l m o d e l o c o n t u s d a t o s . P r e d e c i r : U s a s e l m é t o d o . p r e d i c t ( ) p a r a h a c e r p r e d i c c i o n e s c o n n u e v o s d a t o s . E j e m p l o S e n c i l l o d e C l a s i f i c a c i ó n S u p o n g a m o s q u e q u i e r e s c l a s i f i c a r s i u n a f l o r e s u n a e s p e c i e u o t r a b a s á n d o t e e n l a l o n g i t u d d e s u s p é t a l o s .
  • 69.
    PYTHON La hechicera delcódigo P Y T H O N P Y T H O N f r o m s k l e a r n . n e i g h b o r s i m p o r t K N e i g h b o r s C l a s s i f i e r f r o m s k l e a r n . m o d e l _ s e l e c t i o n i m p o r t t r a i n _ t e s t _ s p l i t f r o m s k l e a r n i m p o r t d a t a s e t s # 1 . C a r g a r l o s d a t o s d e e j e m p l o i r i s = d a t a s e t s . l o a d _ i r i s ( ) X , y = i r i s . d a t a , i r i s . t a r g e t # 2 . S e p a r a r d a t o s p a r a e n t r e n a m i e n t o y p r u e b a X _ e n t r e n a m i e n t o , X _ p r u e b a , y _ e n t r e n a m i e n t o , y _ p r u e b a = t r a i n _ t e s t _ s p l i t ( X , y , t e s t _ s i z e = 0 . 3 ) # 3 . C r e a r e l m o d e l o d e c l a s i f i c a c i ó n ( K - v e c i n o s m á s c e r c a n o s ) m o d e l o = K N e i g h b o r s C l a s s i f i e r ( ) # 4 . E n t r e n a r e l m o d e l o c o n l o s d a t o s d e e n t r e n a m i e n t o m o d e l o . f i t ( X _ e n t r e n a m i e n t o , y _ e n t r e n a m i e n t o ) # 5 . H a c e r u n a p r e d i c c i ó n c o n u n n u e v o d a t o n u e v a _ f l o r = [ [ 5 . 0 , 3 . 5 , 1 . 3 , 0 . 3 ] ] p r e d i c c i o n = m o d e l o . p r e d i c t ( n u e v a _ f l o r ) p r i n t ( f " L a p r e d i c c i ó n e s : { i r i s . t a r g e t _ n a m e s [ p r e d i c c i o n [ 0 ] ] } " ) C o m o p u e d e s v e r , S c i k i t - l e a r n h a c e q u e s e a m u y f á c i l i m p l e m e n t a r y e x p e r i m e n t a r c o n a l g o r i t m o s d e M a c h i n e L e a r n i n g , s i m p l i f i c a n d o u n p r o c e s o q u e d e o t r a f o r m a s e r í a m u y c o m p l e j o .
  • 70.
    PYTHON La hechicera delcódigo 17.NumPy para cálculos numéricos N u m P y : E l p o d e r d e l o s n ú m e r o s p a r a P y t h o n 🚀 I m a g i n a q u e t i e n e s q u e h a c e r o p e r a c i o n e s m a t e m á t i c a s m u y c o m p l e j a s c o n l i s t a s d e n ú m e r o s , c o m o s i t u v i e r a s u n a t a b l a c o n m i l e s d e d a t o s y q u i s i e r a s s u m a r l o s , r e s t a r l o s o m u l t i p l i c a r l o s r á p i d a m e n t e . P y t h o n p o r s í s o l o p u e d e h a c e r l o , p e r o e s l e n t o . A h í e s d o n d e e n t r a N u m P y ( N u m e r i c a l P y t h o n ) . N u m P y e s u n a l i b r e r í a f u n d a m e n t a l q u e l e d a a P y t h o n u n s u p e r p o d e r p a r a t r a b a j a r c o n n ú m e r o s . L o h a c e a t r a v é s d e u n a e s t r u c t u r a d e d a t o s l l a m a d a n d a r r a y ( N - d i m e n s i o n a l a r r a y ) , q u e e s c o m o u n a l i s t a , p e r o m u c h o m á s r á p i d a y e f i c i e n t e p a r a o p e r a c i o n e s n u m é r i c a s . ¿ Q u é h a c e a N u m P y t a n e s p e c i a l ? V e l o c i d a d : L o s n d a r r a y s d e N u m P y s o n m u c h o m á s r á p i d o s q u e l a s l i s t a s d e P y t h o n p a r a o p e r a c i o n e s m a t e m á t i c a s . O p e r a c i o n e s V e c t o r i z a d a s : T e p e r m i t e a p l i c a r u n a o p e r a c i ó n a u n a r r e g l o c o m p l e t o d e u n a s o l a v e z , s i n n e c e s i d a d d e u s a r b u c l e s f o r . P o r e j e m p l o , p u e d e s s u m a r d o s a r r e g l o s c o m p l e t o s c o n u n s o l o s i g n o + . F u n c i o n e s m a t e m á t i c a s : V i e n e c o n u n v a s t o c o n j u n t o d e f u n c i o n e s m a t e m á t i c a s l i s t a s p a r a u s a r , c o m o s e n o , c o s e n o , l o g a r i t m o s , e t c . , q u e s e a p l i c a n a t o d o e l a r r e g l o . E j e m p l o S e n c i l l o I m a g i n a q u e q u i e r e s d u p l i c a r t o d o s l o s n ú m e r o s e n u n a l i s t a . S i n N u m P y ( U s a n d o u n a l i s t a n o r m a l d e P y t h o n )
  • 71.
    PYTHON La hechicera delcódigo P Y T H O N l i s t a = [ 1 , 2 , 3 , 4 , 5 ] l i s t a _ d o b l e = [ ] f o r n u m e r o i n l i s t a : l i s t a _ d o b l e . a p p e n d ( n u m e r o * 2 ) p r i n t ( l i s t a _ d o b l e ) S a l i d a : [ 2 , 4 , 6 , 8 , 1 0 ] C o n N u m P y ( U s a n d o u n n d a r r a y ) P Y T H O N i m p o r t n u m p y a s n p # P o r c o n v e n c i ó n s e u s a n p # C o n v e r t i m o s l a l i s t a a u n n d a r r a y d e N u m P y a r r e g l o = n p . a r r a y ( [ 1 , 2 , 3 , 4 , 5 ] ) # R e a l i z a m o s l a o p e r a c i ó n d e f o r m a v e c t o r i z a d a ( m u y r á p i d a ) a r r e g l o _ d o b l e = a r r e g l o * 2 p r i n t ( a r r e g l o _ d o b l e ) S a l i d a : [ 2 4 6 8 1 0 ] C o m o p u e d e s v e r , e l c ó d i g o e s m á s c o r t o , c l a r o y , l o m á s i m p o r t a n t e , ¡ m u c h í s i m o m á s r á p i d o c u a n d o t r a b a j a s c o n m i l l o n e s d e d a t o s ! P o r e s o , N u m P y e s u n a d e l a s l i b r e r í a s m á s i m p o r t a n t e s p a r a l a c i e n c i a d e d a t o s y e l m a c h i n e l e a r n i n g e n P y t h o n .
  • 72.
    PYTHON La hechicera delcódigo 18.Matplotlib y Seaborn para visualización de datos M a t p l o t l i b y S e a b o r n : P i n t a n d o t u s d a t o s p a r a e n t e n d e r l o s m e j o r 📊🎨 I m a g i n a q u e t i e n e s m u c h í s i m o s d a t o s ( n ú m e r o s , p a l a b r a s , e t c . ) , y v e r l o s a s í n o m á s n o t e d i c e n a d a . P a r a r e a l m e n t e e n t e n d e r l o q u e e s t á p a s a n d o , n e c e s i t a s " d i b u j a r l o s " . M a t p l o t l i b y S e a b o r n s o n d o s l i b r e r í a s d e P y t h o n q u e t e p e r m i t e n h a c e r e x a c t a m e n t e e s o : c o n v e r t i r t u s d a t o s e n g r á f i c o s , d i a g r a m a s y v i s u a l i z a c i o n e s b o n i t a s y f á c i l e s d e e n t e n d e r . 1 . M a t p l o t l i b : E l a r t i s t a f u n d a m e n t a l ¿ Q u é e s ? E s l a l i b r e r í a b a s e p a r a c r e a r g r á f i c o s e n P y t h o n . P i e n s a e n e l l a c o m o t u l i e n z o , t u s p i n c e l e s y t u s p i n t u r a s . T e d a c o n t r o l t o t a l p a r a d i b u j a r c a s i c u a l q u i e r t i p o d e g r á f i c o , d e s d e l o s m á s s i m p l e s h a s t a l o s m á s c o m p l e j o s . ¿ P a r a q u é s i r v e ? D i b u j a r l í n e a s ( p a r a v e r t e n d e n c i a s ) . H a c e r b a r r a s ( p a r a c o m p a r a r c a n t i d a d e s ) . C r e a r p u n t o s d i s p e r s o s ( p a r a v e r r e l a c i o n e s e n t r e d o s c o s a s ) . H a c e r h i s t o g r a m a s ( p a r a v e r c ó m o s e d i s t r i b u y e n t u s d a t o s ) . C a r a c t e r í s t i c a s : R e q u i e r e u n p o c o m á s d e c ó d i g o p a r a l o g r a r u n r e s u l t a d o e s t é t i c o , p e r o t e d a m u c h í s i m a f l e x i b i l i d a d . E j e m p l o d e M a t p l o t l i b :
  • 73.
    P Y TH O N PYTHON La hechicera del código i m p o r t m a t p l o t l i b . p y p l o t a s p l t x = [ 1 , 2 , 3 , 4 , 5 ] y = [ 2 , 4 , 1 , 3 , 5 ] p l t . p l o t ( x , y ) # D i b u j a m o s u n a l í n e a p l t . x l a b e l ( " E j e X " ) # P o n e m o s n o m b r e a l e j e X p l t . y l a b e l ( " E j e Y " ) # P o n e m o s n o m b r e a l e j e Y p l t . t i t l e ( " G r á f i c o d e L í n e a s S i m p l e " ) # T í t u l o d e l g r á f i c o p l t . s h o w ( ) # M o s t r a m o s e l g r á f i c o
  • 74.
    PYTHON La hechicera delcódigo 2 . S e a b o r n : E l d e c o r a d o r d e g r á f i c o s ¿ Q u é e s ? S e a b o r n e s t á c o n s t r u i d o s o b r e M a t p l o t l i b . P i e n s a e n é l c o m o u n " d e c o r a d o r d e i n t e r i o r e s " p a r a t u s g r á f i c o s . T e a y u d a a h a c e r g r á f i c o s m á s b o n i t o s , c o m p l e j o s y e s t a d í s t i c o s c o n m e n o s c ó d i g o . ¿ P a r a q u é s i r v e ? H a c e r g r á f i c o s d e c a j a s , v i o l i n e s ( p a r a v e r d i s t r i b u c i o n e s ) . M a p a s d e c a l o r ( p a r a v e r c o r r e l a c i o n e s ) . G r á f i c o s d e d i s p e r s i ó n c o n l í n e a s d e r e g r e s i ó n . C a r a c t e r í s t i c a s : E s e x c e l e n t e p a r a e x p l o r a r r e l a c i o n e s e n t r e v a r i a b l e s y p r o d u c e g r á f i c o s e s t é t i c a m e n t e a g r a d a b l e s p o r d e f e c t o . F u n c i o n a m u y b i e n c o n D a t a F r a m e s d e P a n d a s . E j e m p l o d e S e a b o r n : P Y T H O N i m p o r t s e a b o r n a s s n s i m p o r t m a t p l o t l i b . p y p l o t a s p l t i m p o r t p a n d a s a s p d # D a t o s d e e j e m p l o d a t o s = { ' E d a d ' : [ 2 0 , 2 2 , 2 5 , 3 0 , 3 5 , 2 8 ] , ' S a l a r i o ' : [ 3 0 0 0 0 , 3 5 0 0 0 , 4 0 0 0 0 , 5 0 0 0 0 , 6 0 0 0 0 , 4 5 0 0 0 ] } d f = p d . D a t a F r a m e ( d a t o s ) # D i b u j a m o s u n g r á f i c o d e d i s p e r s i ó n c o n S e a b o r n s n s . s c a t t e r p l o t ( x = ' E d a d ' , y = ' S a l a r i o ' , d a t a = d f ) p l t . t i t l e ( " R e l a c i ó n E d a d y S a l a r i o " ) p l t . s h o w ( )
  • 75.
    PYTHON La hechicera delcódigo E n r e s u m e n : M a t p l o t l i b t e d a l a s h e r r a m i e n t a s b á s i c a s p a r a c o n s t r u i r c u a l q u i e r g r á f i c o . S e a b o r n t e f a c i l i t a c r e a r g r á f i c o s e s t a d í s t i c o s c o m p l e j o s y e s t é t i c a m e n t e a t r a c t i v o s c o n m e n o s e s f u e r z o , i d e a l p a r a e l a n á l i s i s d e d a t o s . A m b a s l i b r e r í a s t r a b a j a n m u y b i e n j u n t a s y s o n e s e n c i a l e s p a r a c u a l q u i e r p e r s o n a q u e t r a b a j e c o n d a t o s e n P y t h o n .
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
    La hechicera del código Te esperoen otras Redes sociales: Isela Data Maven