Python

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.

Aprende Python GRATIS y certifícate

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:

python.org/downloads

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:

python.org/downloads

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

Aprende Python GRATIS online

Tutoriales de Python

Aprende Python con tutoriales de programación en Python.

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

Python
Puzzle

Clases y objetos

Python
Código

Listas

Python
Código

Crear módulos y paquetes

Python
Puzzle

Estructuras de control

Python
Test

Diccionarios

Python
Puzzle

Módulo math

Python
Test

Importar módulos y paquetes

Python
Test

Operadores

Python
Test

OOP en python

Python
Proyecto

Estructuras de control

Python
Código

Instalación de Python y creación de proyecto

Python
Test

Listas

Python
Puzzle

Estructuras de control

Python
Puzzle

Encapsulación

Python
Test

Clases y objetos

Python
Test

Crear módulos y paquetes

Python
Test

Encapsulación

Python
Puzzle

Tipos de datos

Python
Test

Herencia de clases

Python
Código

Tuplas

Python
Test

Herencia

Python
Puzzle

Módulo datetime

Python
Puzzle

Excepciones

Python
Puzzle

Operadores

Python
Puzzle

Funciones lambda

Python
Puzzle

Clases y objetos

Python
Puzzle

Diccionarios

Python
Test

Módulo os

Python
Puzzle

Listas

Python
Test

Conjuntos

Python
Puzzle

Funciones lambda

Python
Test

Tuplas

Python
Puzzle

Módulo json

Python
Puzzle

Operadores

Python
Código

Variables

Python
Puzzle

Tipos de datos

Python
Puzzle

Diccionarios en Python

Python
Código

Conjuntos

Python
Test

Módulo math

Python
Puzzle

Excepciones

Python
Test

Módulo csv

Python
Test

Gestor de tareas CRUD

Python
Proyecto

Importar módulos y paquetes

Python
Puzzle

Funciones Python

Python
Puzzle

Módulo json

Python
Test

Tipos de datos

Python
Código

Módulo datetime

Python
Test

Herencia

Python
Test

Análisis de datos de ventas con Pandas

Python
Proyecto

Funciones

Python
Test

Funciones Python

Python
Código

Variables

Python
Test

Módulo csv

Python
Puzzle

Introducción a Python

Python
Test

Polimorfismo

Python
Test

Módulo os

Python
Test

Tipo de tecnología

Lenguaje

Categoría laboral

Backend

Año de lanzamiento

1991

Developers

Guido van Rossum

Todos los módulos de Python

Ver todos los módulos de Python

Otras tecnologías

Vue.js
Vuejs

Vuejs

Frontend

Framework de JS progresivo para construir interfaces de usuario reactivas y modulares.

TypeScript
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.

Spring Boot
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.

NestJS
Nest

Nest

Backend

Framework Node.js para crear aplicaciones escalables y eficientes.

Git
Git

Git

DevOps

Sistema de control de versiones distribuido.

React
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

Docker

DevOps

Plataforma de contenedores para aplicaciones portátiles.

Go
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.

Tailwind CSS
TailwindCSS

TailwindCSS

Frontend

Framework de utilidades CSS para diseños rápidos y personalizables.

Kotlin
Kotlin

Kotlin

Backend

Lenguaje de programación moderno y seguro para aplicaciones Android.

HTML5
HTML

HTML

Frontend

Lenguaje de marcado para estructurar contenido web.

NumPy
Numpy

Numpy

Ciencia de Datos e Inteligencia artificial

Biblioteca Python para computación científica y matrices.

GNU Bash
Bash

Bash

Administración de sistemas

Intérprete de comandos para sistemas Unix y Linux.

Acceder a todas las tecnologías