01. Introducción
Python es un lenguaje de programación versátil, fácil de aprender y altamente utilizado en diversas áreas como análisis de datos, desarrollo web, inteligencia artificial y más.
Ventajas clave:
- Sintaxis sencilla: Fácil de leer y escribir, ideal para principiantes.
- Gran comunidad: Amplio soporte y una vasta colección de recursos gratuitos.
- Multiplataforma: Funciona en Windows, Linux y macOS.
- Amplio ecosistema: Bibliotecas para casi cualquier tarea (ej., Pandas, Flask, TensorFlow).
Primeros pasos:
- Descarga Python desde python.org.
- Configura un entorno: VSCode o PyCharm son excelentes opciones.
- Prueba el código básico:
print("¡Hola, Mundo!")
.
02. Estructuras de Control
Las estructuras de control permiten tomar decisiones o ejecutar bloques de código de manera repetitiva.
Condicionales:
Usa if
, elif
y else
para tomar decisiones basadas en condiciones.
# Ejemplo: Clasificar edades
edad = 18
if edad >= 18:
print("Eres mayor de edad.")
elif edad == 17:
print("Estás a punto de ser mayor.")
else:
print("Eres menor de edad.")
Bucles:
Usa for
para iterar sobre datos y while
para bucles condicionales.
# Iterar con for
for numero in range(5):
print(f"Iteración: {numero}")
# Bucle while
contador = 0
while contador < 3:
print(f"Contando: {contador}")
contador += 1
03. Tipos y Estructuras de Datos
Organiza y manipula datos de manera eficiente con los tipos y estructuras básicos de Python.
Tipos básicos:
- int: Números enteros (
10
). - float: Números decimales (
3.14
). - str: Cadenas de texto (
"Hola"
). - bool: Valores booleanos (
True
,False
).
Estructuras de datos:
- Listas: Colección mutable y ordenada.
mi_lista = [1, 2, 3]
- Tuplas: Colección inmutable.
mi_tupla = (1, 2, 3)
- Diccionarios: Pares clave-valor.
mi_dic = {"nombre": "Leuris", "edad": 17}
- Conjuntos: Colección no ordenada de valores únicos.
mi_set = {1, 2, 3}
04. Funciones
Las funciones te permiten dividir tu código en bloques reutilizables para realizar tareas específicas.
Definición básica:
# Ejemplo de función
def saludar(nombre):
return f"Hola, {nombre}!"
# Llamar a la función
print(saludar("Leuris"))
Parámetros y argumentos:
Puedes pasar múltiples parámetros y utilizar valores predeterminados.
def suma(a, b=0):
return a + b
print(suma(5)) # Usa b=0 por defecto
print(suma(5, 7)) # Sobrescribe b con 7
05. Operadores
Python ofrece operadores para cálculos matemáticos, comparaciones y lógica.
Categorías principales:
- Aritméticos:
+, -, *, /, %
- Comparativos:
==, !=, >, <, >=, <=
- Lógicos:
and, or, not
- Asignación:
=, +=, -=
Ejemplo:
a = 10
b = 3
print(a + b) # Suma
print(a > b and b > 1) # Operador lógico
06. Programación Orientada a Objetos
La programación orientada a objetos (POO) te permite organizar el código en clases y objetos para una mayor modularidad y reutilización.
Clases y objetos:
Una clase es como un molde para crear objetos (instancias). Los objetos tienen atributos (propiedades) y métodos (funciones).
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
return f"Hola, soy {self.nombre} y tengo {self.edad} años."
# Crear un objeto
persona1 = Persona("Leuris", 17)
print(persona1.saludar())
Herencia:
La herencia permite crear nuevas clases basadas en clases existentes. Las clases derivadas pueden acceder a métodos y atributos de la clase base.
class Estudiante(Persona):
def __init__(self, nombre, edad, carrera):
super().__init__(nombre, edad)
self.carrera = carrera
def estudiar(self):
return f"Estoy estudiando {self.carrera}."
# Crear objeto de la clase derivada
estudiante1 = Estudiante("Juan", 20, "Ingeniería")
print(estudiante1.saludar())
print(estudiante1.estudiar())
07. Manejo de Excepciones
Las excepciones permiten manejar errores de manera controlada y evitar que el programa se detenga inesperadamente.
Bloques try-except:
Usamos try
para intentar ejecutar un bloque de código y except
para manejar errores.
try:
resultado = 10 / 0 # División por cero
except ZeroDivisionError:
print("¡Error! No se puede dividir por cero.")
Excepciones personalizadas:
Puedes definir tus propias excepciones usando clases.
class MiExcepcion(Exception):
pass
try:
raise MiExcepcion("Este es un error personalizado.")
except MiExcepcion as e:
print(f"Se ha capturado un error: {e}")
08. Manipulación de Archivos
Python permite leer y escribir archivos de manera fácil, ya sea en formato texto o binario.
Abrir y leer archivos:
Usamos open()
para abrir un archivo, y luego usamos read()
o readlines()
para leer su contenido.
# Leer un archivo de texto
with open('archivo.txt', 'r') as archivo:
contenido = archivo.read()
print(contenido)
Escribir en archivos:
Usamos el modo 'w'
para sobrescribir o 'a'
para añadir al final de un archivo.
# Escribir en un archivo
with open('archivo.txt', 'w') as archivo:
archivo.write("Nuevo contenido")
09. Módulos y Paquetes
Los módulos permiten organizar el código en archivos separados. Un paquete es una colección de módulos relacionados.
Importar módulos:
Puedes importar módulos estándar de Python o módulos que hayas creado.
# Importar módulo estándar
import math
print(math.sqrt(16))
# Importar funciones específicas de un módulo
from math import sqrt
print(sqrt(16))
Crear un módulo:
Si creas un archivo con funciones o clases, puedes importarlo como un módulo.
# En archivo mi_modulo.py
def saludar(nombre):
return f"Hola, {nombre}!"
# En el archivo principal
import mi_modulo
print(mi_modulo.saludar("Leuris"))
10. Mejores Bibliotecas
Python cuenta con una gran cantidad de bibliotecas que facilitan tareas específicas, desde análisis de datos hasta desarrollo web. Aquí te mostramos algunas de las mejores y más populares.
Pandas:
Es la biblioteca más utilizada para el análisis de datos. Facilita la manipulación de datos tabulares (como hojas de cálculo).
import pandas as pd
df = pd.read_csv('datos.csv')
print(df.head())
NumPy:
Se utiliza para realizar cálculos matemáticos y trabajar con matrices y arrays multidimensionales.
import numpy as np
array = np.array([1, 2, 3])
print(array)
Flask:
Es un microframework para desarrollar aplicaciones web ligeras y sencillas en Python.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return '¡Hola, Mundo!'
if __name__ == "__main__":
app.run(debug=True)
TensorFlow:
Una biblioteca para crear redes neuronales y modelos de inteligencia artificial.
import tensorflow as tf
modelo = tf.keras.Sequential([tf.keras.layers.Dense(10)])
modelo.compile(optimizer='adam', loss='mean_squared_error')
Requests:
Biblioteca para trabajar con solicitudes HTTP y APIs de manera sencilla.
import requests
response = requests.get('https://api.github.com')
print(response.json())
11. Proyecto Final
Al final del curso, pondrás en práctica todo lo aprendido creando un proyecto desde cero. Puedes crear una aplicación web, una herramienta de análisis de datos o cualquier proyecto que te motive.
Ejemplo de proyecto:
Crea un sistema de gestión de tareas donde puedas agregar, eliminar y actualizar tareas, y almacenar todo en una base de datos.
Pasos para el proyecto:
- Define los requisitos de tu proyecto.
- Organiza el código en módulos y clases.
- Usa bases de datos como SQLite o MongoDB si es necesario.
- Prueba tu aplicación y ajusta cualquier error.