Python en 10 Dias de Cero A Programador
Python en 10 Dias de Cero A Programador
Prólogo
Este libro, "Python en 10 días", ha sido desarrollado con el objetivo de proporcionar una guía clara y
accesible para quienes desean aprender Python desde cero hasta un nivel intermedio. A través de
explicaciones concisas y ejemplos prácticos, el lector podrá desarrollar una comprensión sólida de los
conceptos fundamentales del lenguaje.
El aprendizaje de Python es una puerta de entrada a múltiples áreas del desarrollo y la tecnología,
incluyendo inteligencia artificial, ciencia de datos, desarrollo web y automatización. Este material está
diseñado para ser útil tanto para principiantes como para aquellos que buscan reforzar sus
conocimientos.
Espero que este libro sea de gran ayuda en tu viaje de aprendizaje y que encuentres en Python una
herramienta poderosa y versátil para tus proyectos y aspiraciones.
Este libro está licenciado bajo la Licencia Creative Commons Atribución-CompartirIgual 4.0
Internacional (CC BY-SA 4.0). Esto significa que eres libre de:
• Adaptar — remezclar, transformar y construir sobre el material para cualquier propósito, incluso
comercialmente.
• CompartirIgual — Si remezclas, transformas o creas a partir del material, debes distribuir tus
contribuciones bajo la misma licencia que el original.
P á g i n a 1 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
P á g i n a 2 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Glosario de términos
P á g i n a 3 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Instalación de Python
1. Descarga Python desde el sitio oficial: https://www.python.org/downloads/
2. Sigue las instrucciones para instalarlo según tu sistema operativo (Windows, macOS,
Linux).
3. Verifica la instalación ejecutando en la terminal o consola:
4. python --version
o en algunos sistemas:
python3 --version
Código:
print("Hola, Mundo")
P á g i n a 4 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Explicación:
2 + 3
Comentarios en Python
Los comentarios se utilizan para hacer anotaciones en el código y no afectan su ejecución.
# Esto es un comentario
print("Esto se ejecutará") # Comentario en la misma línea
Conclusión
Hoy hemos aprendido qué es Python, sus características, cómo instalarlo y ejecutar nuestro
primer programa. En el próximo día, exploraremos las variables y los tipos de datos en Python.
P á g i n a 5 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Declaración de Variables:
nombre = "Juan"
edad = 25
altura = 1.75
es_estudiante = True
1. Números
entero = 10 # int
flotante = 3.14 # float
complejo = 2 + 3j # complex
P á g i n a 6 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
3. Booleanos
es_mayor = True
es_menor = False
num_str = "10"
num_int = int(num_str) # Convierte a entero
num_float = float(num_str) # Convierte a flotante
print(num_int + num_float) # Salida: 20.0
Conclusión
Hoy aprendimos sobre variables y tipos de datos en Python. En el siguiente día exploraremos las
estructuras de control como condicionales y bucles.
P á g i n a 7 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Condicionales en Python
Los condicionales permiten ejecutar bloques de código según una condición dada.
Sentencia if
edad = 18
if edad >= 18:
print("Eres mayor de edad")
Sentencia if-else
edad = 16
if edad >= 18:
print("Eres mayor de edad")
else:
print("Eres menor de edad")
Sentencia if-elif-else
nota = 85
if nota >= 90:
print("Sobresaliente")
elif nota >= 70:
print("Aprobado")
else:
print("Reprobado")
P á g i n a 8 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Bucles en Python
Los bucles permiten repetir un bloque de código varias veces.
Bucle while
contador = 1
while contador <= 5:
print("Iteración", contador)
contador += 1
Bucle for
for i in range(5):
print("Valor de i:", i)
Conclusión
Hoy aprendimos sobre condicionales y bucles en Python. En el siguiente día exploraremos listas,
tuplas y diccionarios.
P á g i n a 9 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Listas en Python
Las listas son estructuras ordenadas y mutables que pueden contener diferentes tipos de datos.
Creación de listas
numeros = [1, 2, 3, 4, 5]
nombres = ["Juan", "Ana", "Luis"]
mixta = [1, "Python", 3.14, True]
Acceso a elementos
print(numeros[0]) # Accede al primer elemento
print(nombres[-1]) # Accede al último elemento
Modificación de listas
numeros[0] = 10 # Modifica el primer elemento
print(numeros)
Tuplas en Python
Las tuplas son estructuras similares a las listas, pero son inmutables (no pueden modificarse
después de su creación).
P á g i n a 10 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Creación de tuplas
tupla = (1, 2, 3, "Python")
Acceso a elementos
print(tupla[1]) # Accede al segundo elemento
Desempaquetado de tuplas
a, b, c, d = tupla
print(a, d)
Diccionarios en Python
Los diccionarios son estructuras de datos que almacenan pares clave-valor.
Creación de diccionarios
persona = {"nombre": "Juan", "edad": 30, "ciudad": "Madrid"}
Acceso a valores
print(persona["nombre"]) # Devuelve "Juan"
Modificación de diccionarios
persona["edad"] = 31 # Modifica un valor
persona["profesión"] = "Ingeniero" # Agrega una nueva clave-valor
Conclusión
Hoy aprendimos sobre listas, tuplas y diccionarios en Python. En el siguiente día exploraremos
funciones y módulos para estructurar mejor nuestro código.
P á g i n a 11 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Funciones en Python
Las funciones permiten encapsular bloques de código reutilizables.
resultado = sumar(5, 3)
print("Resultado:", resultado)
print(sumar_todo(1, 2, 3, 4, 5))
P á g i n a 12 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Módulos en Python
Los módulos permiten organizar el código en archivos reutilizables.
Importación de módulos
import math
print(math.sqrt(16)) # Calcula la raíz cuadrada de 16
import operaciones
print(operaciones.sumar(5, 3))
Conclusión
Hoy aprendimos sobre funciones y módulos en Python. En el siguiente día exploraremos la
manipulación de archivos y el manejo de excepciones.
P á g i n a 13 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Escritura en archivos
with open("archivo.txt", "w") as archivo:
archivo.write("Hola, este es un nuevo archivo\n")
P á g i n a 14 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Manejo de Excepciones
Las excepciones permiten manejar errores de manera controlada para evitar que el programa se
detenga abruptamente.
Bloque try-except
try:
resultado = 10 / 0
except ZeroDivisionError:
print("Error: No se puede dividir entre cero")
Uso de finally
try:
archivo = open("archivo.txt", "r")
contenido = archivo.read()
finally:
archivo.close()
Conclusión
Hoy aprendimos a leer y escribir archivos en Python, así como a manejar excepciones. Mañana
veremos programación orientada a objetos (POO).
P á g i n a 15 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Clases y Objetos
En Python, una clase es un modelo para crear objetos, que representan entidades con propiedades
y comportamientos.
def saludar(self):
return f"Hola, soy {self.nombre} y tengo {self.edad} años."
Creación de un objeto
persona1 = Persona("Juan", 30)
print(persona1.saludar())
Herencia
La herencia permite que una clase hija herede atributos y métodos de una clase padre.
class Estudiante(Persona):
def __init__(self, nombre, edad, curso):
super().__init__(nombre, edad)
self.curso = curso
def info(self):
return f"Soy {self.nombre} y estudio en el curso {self.curso}."
Uso de la herencia
estudiante1 = Estudiante("Ana", 22, "Matemáticas")
print(estudiante1.info())
P á g i n a 16 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Encapsulamiento
El encapsulamiento protege los atributos de una clase para que no sean modificados
directamente.
class CuentaBancaria:
def __init__(self, titular, saldo):
self.titular = titular
self.__saldo = saldo # Atributo privado
def mostrar_saldo(self):
return f"Saldo disponible: {self.__saldo}"
Polimorfismo
El polimorfismo permite que métodos con el mismo nombre puedan comportarse de manera
diferente según la clase que los implemente.
class Animal:
def hacer_sonido(self):
pass
class Perro(Animal):
def hacer_sonido(self):
return "Guau!"
class Gato(Animal):
def hacer_sonido(self):
return "Miau!"
Conclusión
Hoy aprendimos los conceptos fundamentales de la Programación Orientada a Objetos en
Python. Mañana exploraremos librerías útiles y la manipulación de datos.
P á g i n a 17 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Instalación
pip install numpy
Uso básico
import numpy as np
Instalación
pip install pandas
Uso básico
import pandas as pd
Instalación
P á g i n a 18 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y)
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.title("Gráfico de Líneas")
plt.show()
Instalación
pip install seaborn
Gráfico de distribución
import seaborn as sns
import numpy as np
sns.histplot(np.random.randn(1000), bins=30)
plt.show()
Conclusión
Hoy exploramos librerías esenciales para manipulación de datos y visualización. Mañana
aprenderemos a desarrollar una aplicación básica en Python.
P á g i n a 19 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Instalación de tkinter
tkinter viene preinstalado con Python, por lo que no es necesario instalarlo. Podemos
importarlo directamente en nuestro código.
Creación de la Calculadora
Estructura básica
import tkinter as tk
def on_click(boton):
if boton == "=":
try:
resultado.set(eval(entrada.get()))
except:
resultado.set("Error")
elif boton == "C":
entrada.set("")
resultado.set("")
else:
entrada.set(entrada.get() + boton)
# Configuración de la ventana
ventana = tk.Tk()
ventana.title("Calculadora")
entrada = tk.StringVar()
resultado = tk.StringVar()
# Campo de entrada
pantalla = tk.Entry(ventana, textvariable=entrada, font=("Arial", 20), bd=10,
insertwidth=2, width=14, justify="right")
pantalla.grid(row=0, column=0, columnspan=4)
P á g i n a 20 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
# Botones de la calculadora
botones = [
["7", "8", "9", "/"],
["4", "5", "6", "*"],
["1", "2", "3", "-"],
["0", "C", "=", "+"]
]
ventana.mainloop()
Conclusión
Hoy construimos una aplicación básica con tkinter. Mañana aprenderemos a trabajar con APIs
y a desarrollar servicios web en Python.
P á g i n a 21 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Instalación de Flask
pip install flask
app = Flask(__name__)
data = [
{"id": 1, "nombre": "Producto 1", "precio": 10},
{"id": 2, "nombre": "Producto 2", "precio": 20}
]
@app.route("/productos", methods=["GET"])
def obtener_productos():
return jsonify(data)
@app.route("/productos", methods=["POST"])
def agregar_producto():
nuevo_producto = request.json
data.append(nuevo_producto)
return jsonify({"mensaje": "Producto agregado"}), 201
if __name__ == "__main__":
app.run(debug=True)
P á g i n a 22 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Probando la API
Para ejecutar la API, usa el comando:
python api.py
Conclusión
Hoy aprendimos a crear una API REST con Flask. Con esto hemos finalizado nuestro curso de
10 días sobre Python. ¡Felicitaciones por completar el aprendizaje!
P á g i n a 23 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Glosario de Términos
Este glosario contiene definiciones de términos clave utilizados en el libro Python en 10 días.
Un conjunto de reglas y definiciones que permiten a diferentes programas comunicarse entre sí.
En Python, se utilizan librerías como requests para interactuar con APIs.
Argumento
Un valor que se pasa a una función cuando se llama. Puede ser posicional o con nombre.
Biblioteca (Librería)
Booleano
Un tipo de dato que solo puede tener dos valores: True o False. Se usa comúnmente en
estructuras de control.
Bucle
Clase
Plantilla para crear objetos. Define atributos y métodos comunes para sus instancias.
Diccionario
Estructura de datos en Python que almacena pares clave-valor. Se define con llaves {}.
Entorno Virtual
Un espacio aislado donde se pueden instalar paquetes sin afectar el sistema global. Se crea con
venv o virtualenv.
Excepción
Función
Bloque de código reutilizable que se define con def y puede recibir argumentos y devolver
valores.
Software que facilita la programación con herramientas como resaltado de sintaxis, depuración y
ejecución. Ejemplos: PyCharm, VS Code.
Lista
Módulo
Archivo Python que contiene funciones y clases reutilizables. Se importa con import.
Objeto
PIP
Repositorio
Tupla
Estructura de datos similar a una lista, pero inmutable. Se define con ().
Variable
Este glosario servirá como referencia rápida para los conceptos clave tratados en el libro.
P á g i n a 25 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
python --version
Se recomienda utilizar siempre la versión más reciente compatible con tus proyectos.
IDEs Populares
P á g i n a 26 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Herramientas Útiles
Administradores de Paquetes
Entornos Virtuales
Control de Versiones
Librerías de Interés
Desarrollo Web
Automatización y Scripting
P á g i n a 27 | 28
@oscardelacuesta
Python en 10 días: De cero a programador palentino.es
Desarrollo de Aplicaciones
Conclusión
Este anexo proporciona una referencia sobre herramientas y librerías útiles para diferentes
aplicaciones en Python. Mantenerse actualizado con las últimas versiones y herramientas puede
mejorar significativamente la eficiencia y la calidad del código.
P á g i n a 28 | 28