Curso de programación con Python
Python es el lenguaje de programación versátil y fácil de aprender utilizado en ciencia de datos, desarrollo web y más. Aprende a programar con Python.
Python es un lenguaje de programación interpretado, de alto nivel y orientado a objetos. Fue creado por Guido van Rossum y publicado por primera vez en 1991. Es conocido por su sintaxis clara y legible, lo que facilita el aprendizaje y la escritura de código. Python es multiplataforma y se utiliza en diversos campos como desarrollo web, ciencia de datos, inteligencia artificial y automatización.
Características principales de Python
- Sintaxis sencilla: Utiliza indentación para delimitar bloques de código, mejorando la legibilidad.
- Multiparadigma: Soporta programación orientada a objetos, funcional y procedimental.
- Tipado dinámico: Las variables pueden cambiar de tipo en tiempo de ejecución.
- Amplia biblioteca estándar: Incluye módulos para tareas comunes como manipulación de cadenas, archivos, redes y más.
- Comunidad activa: Gran cantidad de recursos, documentación y paquetes de terceros disponibles.
Instalación de Python
En Windows
Descarga el instalador desde la página oficial:
Durante la instalación, marca la opción "Add Python to PATH" para facilitar el uso desde la línea de comandos.
En macOS
Python 2 viene preinstalado, pero se recomienda instalar Python 3:
brew install python3
O descarga el instalador desde:
En Linux
La mayoría de las distribuciones incluyen Python. Para instalar Python 3:
En Debian/Ubuntu:
sudo apt-get update
sudo apt-get install python3
En Fedora:
sudo dnf install python3
Sintaxis básica
Hola Mundo
El clásico programa "Hola Mundo" en Python:
print("Hola, mundo")
Comentarios
Comentario de una línea:
# Esto es un comentario
Comentario de varias líneas:
""" Esto es un comentario de varias líneas """
Variables y tipos de datos
Python es de tipado dinámico, no es necesario declarar el tipo de las variables.
nombre = "Ana"
edad = 30
es_estudiante = True
Tipos de datos básicos
- Números enteros:
int
- Números decimales:
float
- Cadenas de texto:
str
- Booleanos:
bool
- Nulos:
None
Operadores
Aritméticos
- Suma:
+
- Resta:
-
- Multiplicación:
*
- División:
/
- División entera:
//
- Módulo:
%
- Potencia:
**
Ejemplo:
resultado = 10 + 5 * 2
Comparación
- Igual a:
==
- Distinto de:
!=
- Mayor que:
>
- Menor que:
<
- Mayor o igual que:
>=
- Menor o igual que:
<=
Lógicos
- and:
and
- or:
or
- not:
not
Estructuras de control
Condicionales
if edad >= 18:
print("Eres mayor de edad")
elif edad >= 13:
print("Eres adolescente")
else:
print("Eres niño")
Bucles
Bucle for
for i in range(5):
print("Iteración", i)
Bucle while
contador = 0
while contador < 5:
print("Contador:", contador)
contador += 1
Funciones
Definición de funciones
def saludar(nombre):
print(f"Hola, {nombre}")
saludar("Luis")
Valores de retorno
def sumar(a, b):
return a + b
resultado = sumar(3, 5)
print("La suma es:", resultado)
Parámetros por defecto
def saludar(nombre="amigo"):
print(f"Hola, {nombre}")
saludar()
Colecciones
Listas
Estructura mutable y ordenada.
frutas = ["manzana", "banana", "cereza"]
frutas.append("naranja")
print(frutas[0]) # manzana
Tuplas
Estructura inmutable y ordenada.
punto = (10, 20)
Conjuntos
Colección no ordenada y sin elementos duplicados.
numeros = {1, 2, 3, 2}
print(numeros) # {1, 2, 3}
Diccionarios
Colección de pares clave-valor.
persona = {"nombre": "Ana", "edad": 30}
print(persona["nombre"]) # Ana
Programación orientada a objetos
Clases y objetos
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self):
print(f"Hola, me llamo {self.nombre}")
ana = Persona("Ana", 30)
ana.saludar()
Herencia
class Estudiante(Persona):
def __init__(self, nombre, edad, carrera):
super().__init__(nombre, edad)
self.carrera = carrera
def estudiar(self):
print(f"{self.nombre} está estudiando {self.carrera}")
luis = Estudiante("Luis", 22, "Ingeniería")
luis.estudiar()
Módulos y paquetes
Importación de módulos
import math
print(math.sqrt(16)) # 4.0
Creación de módulos
En
mi_modulo.py
:def saludar(nombre): print(f"Hola, {nombre}")
Uso en otro archivo:
import mi_modulo mi_modulo.saludar("Ana")
Manejo de excepciones
Try-except
try:
resultado = 10 / 0
except ZeroDivisionError:
print("Error: división por cero")
finally:
print("Operación finalizada")
Entrada y salida
Lectura desde consola
nombre = input("Introduce tu nombre: ")
print(f"Hola, {nombre}")
Lectura y escritura de archivos
Escribir en un archivo
with open("archivo.txt", "w") as archivo:
archivo.write("Este es un texto de ejemplo")
Leer un archivo
with open("archivo.txt", "r") as archivo:
contenido = archivo.read()
print(contenido)
Bibliotecas estándar y de terceros
Python cuenta con una amplia biblioteca estándar y miles de paquetes disponibles en PyPI.
Ejemplos de bibliotecas populares
- NumPy: Computación numérica.
- Pandas: Análisis de datos.
- Requests: Realizar peticiones HTTP.
Instalación de paquetes con pip
pip install numpy
Entornos virtuales
Permiten aislar las dependencias de cada proyecto.
Creación de un entorno virtual
python -m venv mi_entorno
Activación del entorno
En Windows:
mi_entorno\Scripts\activate
En macOS y Linux:
source mi_entorno/bin/activate
Buenas prácticas
- Código legible: Seguir la Guía de estilo PEP 8.
- Nombres descriptivos: Para variables y funciones.
- Documentación: Utilizar docstrings y comentarios cuando sea necesario.
- Gestión de dependencias: Usar
requirements.txt
para listar paquetes. - Uso de entornos virtuales: Facilitan el manejo de diferentes proyectos.
Recursos adicionales
- Documentación oficial: docs.python.org
Tutoriales de Python
Aprende Python con tutoriales de programación en Python.
Introducción A Python
Introducción Y Entorno
Instalación Y Creación De Proyecto
Introducción Y Entorno
Tipos De Datos
Sintaxis
Variables
Sintaxis
Operadores
Sintaxis
Estructuras De Control
Sintaxis
Funciones
Sintaxis
Funciones Lambda
Programación Funcional
Clases Y Objetos
Programación Orientada A Objetos
Excepciones
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Listas
Estructuras De Datos
Tuplas
Estructuras De Datos
Diccionarios
Estructuras De Datos
Conjuntos
Estructuras De Datos
Módulo Csv
Biblioteca Estándar
Módulo Json
Biblioteca Estándar
Módulo Datetime
Biblioteca Estándar
Módulo Math
Biblioteca Estándar
Módulo Os
Biblioteca Estándar
Importar Módulos Y Paquetes
Paquetes Y Módulos
Crear Módulos Y Paquetes
Paquetes Y Módulos
Instalación Beautiful Soup
Web Scraping
Sintaxis General De Beautiful Soup
Web Scraping
Tipos De Selectores
Web Scraping
Web Scraping De Html
Web Scraping
Web Scraping Para Ciencia De Datos
Web Scraping
Autenticación Y Acceso A Recursos Protegidos
Web Scraping
Combinación De Selenium Con Beautiful Soup
Web Scraping
Acceso A Datos Con Mysql, Pymongo Y Pandas
Acceso A Bases De Datos
Ejercicios de programación de Python
Evalúa tus conocimientos en Python con ejercicios de programación Python de tipo Test, Puzzle, Código y Proyecto con VSCode.
Diccionarios en Python
Módulo math
Excepciones
Gestor de tareas CRUD
Funciones Python
Módulo datetime
Polimorfismo
Módulo os
Diccionarios
Operadores
Estructuras de control
Instalación de Python y creación de proyecto
Estructuras de control
Encapsulación
Herencia de clases
Crear módulos y paquetes
Módulo datetime
Excepciones
Operadores
Funciones lambda
Diccionarios
Funciones lambda
Tuplas
Operadores
Variables
Tipos de datos
Conjuntos
Módulo csv
Módulo json
Tipos de datos
Herencia
Análisis de datos de ventas con Pandas
Funciones
Variables
Módulo csv
Introducción a Python
Polimorfismo
Clases y objetos
Funciones Python
Listas
Estructuras de control
Importar módulos y paquetes
Módulo math
OOP en python
Listas
Encapsulación
Clases y objetos
Tipos de datos
Crear módulos y paquetes
Tuplas
Herencia
Importar módulos y paquetes
Clases y objetos
Módulo os
Listas
Conjuntos
Módulo json
Tipo de tecnología
Lenguaje
Categoría laboral
Backend
Año de lanzamiento
1991
Developers
Guido van Rossum
Todos los módulos de Python
Python
Introducción y entorno
Python
Sintaxis
Python
Programación funcional
Python
Programación Orientada a Objetos
Python
Estructuras de datos
Python
Biblioteca estándar
Python
Paquetes y módulos
Python
Web Scraping
Python
Acceso a bases de datos
Otras tecnologías
C
C
Backend
Lenguaje de propósito general, eficiente y de bajo nivel.
Django
Django
Backend
Framework web Python para desarrollo rápido y seguro.
Laravel
Laravel
Backend
Framework de PHP para desarrollo web backend.
Vuejs
Vuejs
Frontend
Framework de JS progresivo para construir interfaces de usuario reactivas y modulares.
Java
Java
Backend
Lenguaje de programación versátil y multiplataforma.
PySpark
PySpark
Big Data
Motor unificado de análisis de datos distribuido para grandes volúmenes.
ScikitLearn
ScikitLearn
Ciencia de Datos e IA
Biblioteca de aprendizaje automático en Python.
Go
Go
Backend
Lenguaje de programación eficiente y concurrente creado por Google.
TypeScript
TypeScript
Full Stack
Superconjunto de JavaScript con tipado estático.
OpenCV
OpenCV
Ciencia de Datos e IA
Biblioteca de Python para Computer Vision en imágenes y vídeos.
Flask
Flask
Backend
Microframework web para Python, simple y flexible.
Node
Node
Backend
Node.js es un entorno de ejecución de JavaScript basado en el motor V8 de Google.
Nest
Nest
Backend
Framework Node.js para crear aplicaciones escalables y eficientes.
Selenium
Selenium
Testing / QA
Suite de herramientas open-source para automatizar navegadores web y pruebas de software de interfaz de usuario.
React
React
Frontend
Librería framework para frontend interfaces de usuario.
SpringBoot
SpringBoot
Backend
Framework para desarrollo rápido de aplicaciones Java.
CSharp
CSharp
Backend
Lenguaje de programación de Microsoft para aplicaciones robustas.
Docker
Docker
DevOps
Plataforma de contenedores para aplicaciones portátiles.
Seaborn
Seaborn
Ciencia de Datos e IA
Biblioteca de visualización de datos para Python.
Streamlit
Streamlit
Ciencia de Datos e IA
Biblioteca Python para prototipado web UI rápido en ciencia de datos.
PHP
PHP
Backend
Lenguaje de programación para desarrollo web del lado del servidor.
SQL
SQL
Bases de datos
Lenguaje para gestionar bases de datos relacionales.
Fundamentos
Fundamentos
Full Stack
Fundamentos y bases de la programación de software moderna.
TailwindCSS
TailwindCSS
Frontend
Framework de utilidades CSS para diseños rápidos y personalizables.
TensorFlow
TensorFlow
Ciencia de Datos e IA
Biblioteca Python para redes neuronales en Deep Learning
Git
Git
DevOps
Sistema de control de versiones distribuido.
Kotlin
Kotlin
Backend
Lenguaje de programación moderno y seguro para aplicaciones Android.
HTML
HTML
Frontend
Lenguaje de marcado para estructurar contenido web.
Numpy
Numpy
Ciencia de Datos e IA
Biblioteca Python para computación científica y matrices.
Bash
Bash
Administración de sistemas
Intérprete de comandos para sistemas Unix y Linux.
Bootstrap
Bootstrap
Frontend
Framework CSS para diseños web responsive y modernos.
Matplotlib
Matplotlib
Ciencia de Datos e IA
Biblioteca Python para crear gráficos y visualizaciones.
Hibernate
Hibernate
Backend
ORM para Java, simplifica el acceso a bases de datos.
Pandas
Pandas
Ciencia de Datos e IA
Herramienta Python para análisis y manipulación de datos.
JavaScript
JavaScript
Full Stack
Lenguaje de scripting para desarrollo web interactivo.
Angular
Angular
Frontend
Framework web de Google para aplicaciones dinámicas.
CSS
CSS
Frontend
Lenguaje de estilo para diseñar páginas web atractivas.