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
Módulos Y Paquetes
Crear Módulos Y Paquetes
Módulos Y Paquetes
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.
Polimorfismo
Clases y objetos
Listas
Crear módulos y paquetes
Estructuras de control
Diccionarios
Módulo math
Importar módulos y paquetes
Operadores
OOP en python
Estructuras de control
Instalación de Python y creación de proyecto
Listas
Estructuras de control
Encapsulación
Clases y objetos
Crear módulos y paquetes
Encapsulación
Tipos de datos
Herencia de clases
Tuplas
Herencia
Módulo datetime
Excepciones
Operadores
Funciones lambda
Clases y objetos
Diccionarios
Módulo os
Listas
Conjuntos
Funciones lambda
Tuplas
Módulo json
Operadores
Variables
Tipos de datos
Diccionarios en Python
Conjuntos
Módulo math
Excepciones
Módulo csv
Gestor de tareas CRUD
Importar módulos y paquetes
Funciones Python
Módulo json
Tipos de datos
Módulo datetime
Herencia
Análisis de datos de ventas con Pandas
Funciones
Funciones Python
Variables
Módulo csv
Introducción a Python
Polimorfismo
Módulo os
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
Módulos y paquetes
Otras tecnologías
Vuejs
Vuejs
Frontend
Framework de JS progresivo para construir interfaces de usuario reactivas y modulares.
TypeScript
TypeScript
Full Stack
Superconjunto de JavaScript con tipado estático.
Java
Java
Backend
Lenguaje de programación versátil y multiplataforma.
Seaborn
Seaborn
Ciencia de Datos e Inteligencia artificial
Biblioteca de visualización de datos para Python.
PySpark
PySpark
Big Data
Motor unificado de análisis de datos distribuido para grandes volúmenes.
CSharp
CSharp
Backend
Lenguaje de programación de Microsoft para aplicaciones robustas.
SpringBoot
SpringBoot
Backend
Framework para desarrollo rápido de aplicaciones Java.
OpenCV
OpenCV
Ciencia de Datos e Inteligencia artificial
Biblioteca de Python para el aprendizaje automático, incluyendo clasificación, regresión, clustering y reducción de dimensionalidad.
Nest
Nest
Backend
Framework Node.js para crear aplicaciones escalables y eficientes.
Git
Git
DevOps
Sistema de control de versiones distribuido.
React
React
Frontend
Librería framework para frontend interfaces de usuario.
Selenium
Selenium
Testing / QA (Quality Assurance)
Suite de herramientas open-source para automatizar navegadores web y pruebas de software de interfaz de usuario.
Docker
Docker
DevOps
Plataforma de contenedores para aplicaciones portátiles.
Go
Go
Backend
Lenguaje de programación eficiente y concurrente creado por Google.
SQL
SQL
Administración de bases de datos
Lenguaje para gestionar bases de datos relacionales.
TailwindCSS
TailwindCSS
Frontend
Framework de utilidades CSS para diseños rápidos y personalizables.
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 Inteligencia artificial
Biblioteca Python para computación científica y matrices.
Bash
Bash
Administración de sistemas
Intérprete de comandos para sistemas Unix y Linux.