Has terminado un curso o finalmente has llegado al final de un libro que te enseña los conceptos básicos de programación con Python. Has aprendido sobre variables, listas, tuplas, diccionarios,forwhilebucles, sentencias condicionales, conceptos orientados a objetos y más. Entonces, ¿qué sigue? ¿Qué puedes hacer con Python hoy en día?

Python es un lenguaje de programación versátil con muchos casos de uso en una variedad de campos diferentes. Si has captado los conceptos básicos de Python y estás ansioso por construir algo con el lenguaje, entonces es hora de averiguar cuál debería ser tu próximo paso.

En este artículo, verás cómo puedes usar Python para:

  • Desarrollo de software general
  • Sumergirse en la ciencia de datos y las matemáticas
  • Acelere y automatice su flujo de trabajo
  • Construcción de sistemas embebidos y robots

También encontrará ideas para proyectos prácticos, recursos y tutoriales que puede usar para comenzar a construir cosas con Python de inmediato.

Bono gratuito: obtenga un capítulo de ejemplo de Conceptos básicos de Python: una introducción práctica a Python 3 para ver cómo puede ir de principiante a intermedio en Python con un plan de estudios completo, actualizado para Python 3.9.

Python en el mundo real

Python es un lenguaje de programación de alto nivel y de propósito general. Como esta definición implica, puede usar Python para varios propósitos, desde el desarrollo web hasta la ciencia de datos, el aprendizaje automático y la robótica. Los casos de uso en el mundo real de Python son ilimitados.

Probablemente te estés preguntando qué es lo que la gente está construyendo con éxito con Python. Si echas un vistazo rápido a las empresas que usan el lenguaje, encontrarás empresas de clase mundial, como Google, YouTube, Facebook, Instagram, Spotify, Netflix y más.

Google ha utilizado Python desde el principio, y se ha ganado un lugar como uno de los principales lenguajes del lado del servidor del gigante tecnológico. Guido van Rossum, el creador de Python, trabajó allí durante varios años, supervisando el desarrollo del lenguaje.

A Instagram le gusta Python por su simplicidad. El servicio es conocido por ejecutar “el despliegue más grande del mundo del marco web de Django, que está escrito completamente en Python”.

Spotify utiliza el lenguaje para el análisis de datos y los servicios de back-end. Según su equipo, la facilidad de uso de Python conduce a una tubería de desarrollo ultrarrápida. Spotify realiza un montón de análisis para dar recomendaciones a sus usuarios, por lo que necesita una herramienta productiva que funcione bien. ¡Python al rescate!

También encontrará que Python ha sido vital para la ciencia y la exploración espacial, con muchos casos de uso emocionantes en robótica y control de hardware.

En este artículo, verás cómo puedes usar tus habilidades de Python en una amplia gama de áreas.

Desarrolle un software genial

El ecosistema de Python proporciona un rico conjunto de marcos, herramientas y bibliotecas que le permiten escribir casi cualquier tipo de aplicación. Puede usar Python para crear aplicaciones para la Web, así como para plataformas de escritorio y móviles. Incluso puedes usar Python para crear videojuegos.

Desarrollo Web

Desarrollar aplicaciones web con Python es una de las habilidades más demandadas, con muchas oportunidades para ti. En este campo, encontrará varios frameworks, bibliotecas y herramientas útiles de Python para desarrollar aplicaciones web geniales, API y más. Estos son algunos de los frameworks web de Python más populares:

FrameworkDescription
Django Django es un framework de alto nivel que fomenta el desarrollo rápido de aplicaciones web con un diseño limpio y pragmático. Le permite centrarse en escribir sus aplicaciones sin tener que reinventar la rueda.
FastAPI FastAPI es un framework web rápido y de alto rendimiento para la construcción de APIs web. Está construido sobre las características modernas de sugerencias de tipo Python y permite la programación asíncrona.
Frasco Flask es un marco ligero para crear aplicaciones web WSGI. Le permite comenzar rápidamente y escalar a aplicaciones complejas si es necesario.
Tornado Tornado es un framework web y una biblioteca de redes asíncrona. Utiliza una red no bloqueante I/ O, para que pueda escribir aplicaciones que puedan escalar a decenas de miles de conexiones abiertas.

Para comenzar con el desarrollo web, echa un vistazo a:

  • Tutoriales de desarrollo web en Python
  • Tutoriales de Django
  • Tutoriales de Frasco
  • Tutorial FastAPI

Si desea algunas ideas prácticas de proyectos para aplicar sus habilidades de desarrollo web de inmediato, puede crear una aplicación web de cartera con Django. Con tantos trabajos y oportunidades de carrera por ahí, es una gran idea tener un portafolio personal en estos días, así que adelante y pruébalo. No necesitas saber nada sobre Django para empezar con este tutorial paso a paso. Es perfecto si estás ansioso por ensuciarte las manos con el desarrollo web en Python.

Desarrollo de CLI

Otro campo en el que Python brilla es el desarrollo de aplicaciones de interfaz de línea de comandos (CLI). Las aplicaciones CLI están en todas partes y le permiten automatizar tareas repetitivas y aburridas en su trabajo diario mediante la creación de herramientas pequeñas y grandes para su línea de comandos.

En Python, tiene un impresionante conjunto de bibliotecas y marcos de CLI que pueden hacer su vida más agradable y ayudarlo a construir herramientas de línea de comandos rápidamente:

BibliotecaDescripción
argparse argprsees un módulo de biblioteca estándar que le permite escribir interfaces de línea de comandos fáciles de usar. Puede definir los argumentos que desea tomar en la línea de comandos y analizarlos bien. Genera automáticamente mensajes de ayuda y uso y emite errores cuando los usuarios proporcionan entradas no válidas.
Haga clic Click es un paquete de Python para crear hermosas interfaces de línea de comandos con tan poco código como sea necesario. Es altamente configurable y viene con valores predeterminados sensibles fuera de la caja. Sus objetivos incluyen hacer que el proceso de escribir herramientas de línea de comandos sea rápido y divertido.
Typer Typer es una biblioteca para crear aplicaciones CLI que a los usuarios les encantará usar y a los desarrolladores les encantará crear. Proporciona mensajes de ayuda automáticos y finalización automática para todos los shells. Minimiza la duplicación de código y facilita la depuración.

Para comenzar con el desarrollo de CLI, echa un vistazo a:

  • Cómo construir interfaces de línea de comandos en Python con argparse
  • Comparación de bibliotecas de análisis de línea de comandos de Python: Argparse, Docopt y Click

Además, si desea saltar a la construcción de un proyecto de aplicación CLI, puede comenzar creando una herramienta de generador de árbol de directorios para su línea de comandos. En este proyecto paso a paso, creará una herramienta de línea de comandos para generar diagramas ASCII que muestren el contenido de un directorio o carpeta en su sistema de archivos.

Crear aplicaciones con una interfaz de línea de comandos intuitiva y fácil de usar es una habilidad valiosa para cualquier desarrollador de Python.

Desarrollo de GUI

La creación de aplicaciones de interfaz gráfica de usuario (GUI) tradicionales para entornos de escritorio también es una opción atractiva en Python. Si está interesado en crear este tipo de aplicación, entonces Python lo tiene cubierto con una amplia gama de bibliotecas GUI, marcos y kits de herramientas para elegir:

BibliotecaDescripción
Kivy Kivy es una biblioteca para el desarrollo rápido de aplicaciones con interfaces de usuario innovadoras, como aplicaciones multitáctiles. Se ejecuta en Linux, Windows, macOS, Android, iOS y Raspberry Pi.
PyQt PyQt es un conjunto de enlaces de Python para el marco de aplicación Qt. Incluye clases para crear aplicaciones GUI. También proporciona clases para redes, hilos, bases de datos SQL y más. Es compatible con las plataformas Windows, Linux y macOS.
PySimpleGUI PySimpleGUI es una biblioteca que tiene como objetivo transformar los marcos tkinter, Qt, wxPython y Remi GUI en una interfaz más simple. Utiliza los tipos de datos principales de Python para definir ventanas y simplificar el manejo de eventos.
Qt para Python (PySide6) Qt for Python es un proyecto que proporciona el conjunto oficial de enlaces de Python (PySide6) para el marco Qt.
tkinter tkinter es una interfaz estándar de Python para el kit de herramientas Tk GUI. Le permite crear aplicaciones GUI sin la necesidad de dependencias de terceros. Está disponible en la mayoría de las plataformas Unix, así como en los sistemas Windows.
wxPython wxPython es un enlace de Python para la biblioteca C++ de wxWidgets. Le permite crear aplicaciones para Windows, macOS y Linux con una sola base de código. Le da a las aplicaciones una apariencia nativa porque utiliza la API nativa de la plataforma.

Una forma rápida de comenzar a construir sus aplicaciones GUI es usartkinter. Este módulo viene en la biblioteca estándar de Python. Practica usandotkintery vea cómo se materializa su visión en la pantalla. Una vez que tenga los pies mojados, puede diversificarse y comenzar a trabajar con otros kits de herramientas de GUI de Python.

Para comenzar con la programación GUI, echa un vistazo a:

  • Tutoriales de programación Python GUI
  • Python GUI Programación Ruta de aprendizaje
  • Programación GUI con PyQt Learning Path

La construcción de servicios back-end es una parte esencial del desarrollo. Sin embargo, también necesitas un front-end. Crear aplicaciones con las que los usuarios puedan interactuar de manera efectiva es primordial.

Si desea comenzar a crear aplicaciones GUI del mundo real, puede crear una calculadora utilizando PyQt. Completar este proyecto de calculadora le ayudará a comprender los fundamentos de este marco de interfaz gráfica de usuario con todas las funciones, para que pueda comenzar a construir cosas agradables para su escritorio de inmediato.

También puede encontrar algunos otros proyectos prácticos para ayudarle con su viaje de programación GUI. Echa un vistazo a los siguientes recursos:

  • Cree una herramienta de cambio de nombre de archivos a granel con Python y PyQt
  • Cree un libro de contactos con Python, PyQt y SQLite

Estos proyectos lo guiarán a través del proceso de creación de aplicaciones GUI con PyQt y Python. También lo ayudarán a integrar una amplia variedad de habilidades para crear aplicaciones totalmente funcionales en el mundo real.

Desarrollo de juegos

Crear juegos de computadora es una excelente manera de aprender a programar no solo en Python sino también en cualquier otro idioma. Para desarrollar juegos, necesitarás usar variables, bucles, declaraciones condicionales, funciones, programación orientada a objetos y más. El desarrollo de juegos es una excelente opción para integrar múltiples habilidades.

Los juegos de computadora han jugado un papel importante en la programación. Muchas personas se meten en la programación porque les encantan los juegos y quieren recrear sus juegos favoritos o construir los suyos propios. Desarrollar juegos de computadora puede ser una aventura divertida y gratificante, en la que puedes vivir la gran experiencia de jugar el juego que acabas de crear.

Encontrarás varias herramientas, bibliotecas y marcos para crear juegos rápidamente en el ecosistema de Python. Aquí hay una pequeña muestra de ellos:

BibliotecaDescripción
Arcade Arcade es una biblioteca de Python para la creación de videojuegos 2D. Es ideal para las personas que aprenden a programar porque no necesitan aprender un marco de juego complejo para comenzar a crear sus propios juegos.
PyGame PyGame es un conjunto de módulos de Python diseñados para escribir videojuegos. Agrega funcionalidad en la parte superior de la biblioteca SDL. Te permite crear juegos y programas multimedia con todas las funciones. La biblioteca es altamente portátil y se ejecuta en varias plataformas y sistemas operativos.
piglet Pyglet es una potente biblioteca de Python para crear juegos y otras aplicaciones visualmente ricas en Windows, macOS y Linux. Es compatible con ventanas, manejo de eventos de interfaz de usuario, gráficos OpenGL, carga de imágenes y reproducción de videos y música.

Para comenzar con la programación de juegos, echa un vistazo a:

  • Tutoriales de desarrollo de juegos Python
  • PyGame: una introducción a la programación de juegos en Python

Puede usar Python para crear juegos de arcade, juegos de aventura y juegos de rompecabezas que puede implementar en unas pocas horas. También puede codificar juegos clásicos, como hangman, tic-tac-toe, tijeras de papel de roca y más con sus habilidades de programación recién adquiridas.

Si quieres sumergirte en la construcción de tu primer juego, entonces puedes comenzar construyendo un juego de Asteroids con Python y PyGame. Si quieres ir un paso más allá y construir tu primer juego de plataforma, echa un vistazo a Construir un juego de plataforma en Python con Arcade.

Sumérgete en la ciencia de datos y las matemáticas

La ciencia de datos es un campo que implica limpiar, preparar y analizar datos para extraer conocimiento de ellos. La ciencia de datos combina estadísticas, matemáticas, programación y habilidades de resolución de problemas para extraer información útil de los datos.

Python juega un papel fundamental en los campos de la ciencia de datos y las matemáticas. El lenguaje se ha vuelto popular entre los científicos debido a su legibilidad, productividad, flexibilidad y portabilidad. El ecosistema de Python alrededor de la ciencia ha crecido enormemente. Encontrará soluciones maduras de Python en casi todos los campos principales en matemáticas y ciencias.

Python incluye herramientas para aprendizaje automático (ML), inteligencia artificial (AI), computación científica, análisis de datos y visualización de datos. El lenguaje también proporciona herramientas eficientes para recopilar, extraer y manipular datos.

Aprendizaje automático

El aprendizaje automático puede ser el primer paso para alguien interesado en la inteligencia artificial. El aprendizaje automático estudia algoritmos que aprenden a través de la experiencia. Estos algoritmos construyen modelos basados en muestras de datos de entrenamiento para hacer predicciones y decisiones.

El aprendizaje automático puede ser un campo intimidante para comenzar porque el espacio es rápido y siempre cambiante. Aquí hay un resumen de algunas de las herramientas más populares para hacer aprendizaje automático con Python:

BibliotecaDescripción
Keras Keras es un marco de aprendizaje profundo industrial con una API diseñada para seres humanos. Le permite ejecutar nuevos experimentos y probar más ideas rápidamente. Sigue las mejores prácticas para reducir la carga cognitiva.
NLTK NLTK es una plataforma para construir programas Python para trabajar con datos de lenguaje humano. Proporciona bibliotecas para clasificación, tokenización, derivación, etiquetado, análisis y razonamiento semántico.
PyTorch PyTorch es un marco de aprendizaje automático de código abierto que acelera el camino desde la creación de prototipos de investigación hasta la implementación de producción.
scikit-learn scikit-learn es una biblioteca de aprendizaje automático de código abierto que admite el aprendizaje supervisado y no supervisado. Es una herramienta eficiente para el análisis predictivo de datos que es accesible para todos y reutilizable en varios contextos.
TensorFlow TensorFlow es una plataforma de código abierto de extremo a extremo para el aprendizaje automático. Cuenta con un ecosistema completo y flexible de herramientas, bibliotecas y recursos de la comunidad que lo ayudarán a crear e implementar aplicaciones impulsadas por ML.

Para comenzar con el aprendizaje automático, echa un vistazo a:

  • Tutoriales de aprendizaje automático de Python
  • Aprendizaje automático con Python Learning Path

Computación científica

Otro campo en el que Python juega un papel importante es la computación científica. Los científicos utilizan capacidades informáticas avanzadas disponibles a través de supercomputadoras, grupos de computadoras e incluso computadoras de escritorio y portátiles para comprender y resolver problemas complejos.

Estas son algunas de las bibliotecas y herramientas que puede usar para la computación científica en Python en estos días:

BibliotecaDescripción
NumPy NumPy es un paquete fundamental para la computación científica con Python. Ofrece funciones matemáticas completas, generadores de números aleatorios, rutinas de álgebra lineal, transformadas de Fourier y más. Proporciona una sintaxis de alto nivel que la hace accesible y productiva.
SciPy SciPy es una colección basada en Python de software de código abierto para matemáticas, ciencias e ingeniería.
SimPy SimPy es un marco de simulación de eventos discretos basado en procesos basado en Python. Puede ayudarlo a simular sistemas del mundo real, como aeropuertos, servicios al cliente, autopistas y más.

Para comenzar con la computación científica, echa un vistazo a:

  • Matemáticas para el aprendizaje de la ciencia de datos
  • NumPy, SciPy y Pandas: correlación con Python
  • SimPy: Simulación de procesos del mundo real con Python

Las bibliotecas y herramientas en esta sección son piezas fundamentales en el espacio de ciencia de datos en Python. Algunos de ellos son componentes centrales de bibliotecas de nivel superior para el aprendizaje automático, el análisis de datos y más.

Análisis y visualización de datos

El análisis de datos es un proceso de recopilación, inspección, limpieza, transformación y modelado de datos para descubrir información útil, hacer predicciones, llegar a conclusiones, apoyar los procesos de toma de decisiones y más. El análisis de datos está estrechamente relacionado con la visualización de datos, que se ocupa de la representación gráfica de los datos.

En Python, también encontrará bibliotecas maduras y bien establecidas para el análisis de datos y la visualización de datos. Estos son algunos de ellos:

BibliotecaDescripción
Bokeh Bokeh es una biblioteca interactiva de visualización de datos para navegadores web. Proporciona herramientas para la construcción de gráficos elegantes y versátiles. Puede ayudarlo a crear rápidamente gráficos interactivos, paneles y aplicaciones de datos.
Dash Dash es un framework de Python para crear aplicaciones analíticas web rápidamente. Es ideal para crear aplicaciones de visualización de datos con interfaces de usuario personalizadas que se renderizan en el navegador.
Matplotlib Matplotlib es una biblioteca para crear visualizaciones de datos estáticas, animadas e interactivas en Python.
pandas pandas es una herramienta de código abierto potente y flexible para analizar y manipular datos. Proporciona estructuras de datos rápidas, flexibles y expresivas para trabajar con datos relacionales o etiquetados.
Seaborn Seaborn es una librería de visualización de datos basada en Matplotlib. Proporciona una interfaz de alto nivel para dibujar gráficos estadísticos atractivos e informativos que le permiten explorar y comprender sus datos. Se integra estrechamente con las estructuras de datos de los pandas.

Para comenzar con el análisis y la visualización de datos, echa un vistazo a:

  • Ruta de aprendizaje de recopilación de datos y almacenamiento
  • Visualización de datos con Python Learning Path
  • Ciencia de datos con Python Core Skills Ruta de aprendizaje
  • Pandas para el camino de aprendizaje de la ciencia de datos
  • Desarrolle interfaces de visualización de datos en Python con Dash

Si desea aumentar sus habilidades de análisis de datos mediante la construcción de un proyecto práctico, puede crear un libro de calificaciones con Python y pandas. Este proyecto paso a paso lo guía a través del proceso de creación de un script de Python que carga los datos de calificación y calcula las calificaciones de las letras para un grupo de estudiantes. El proyecto consiste en cargar los datos de un archivo de valores separados por comas (CSV), explorar los datos y calcular y trazar las calificaciones utilizando pandas.

Extracción de Web

Una de las fuentes más importantes de información para hacer ciencia de datos es la Web. El proceso de recopilar y analizar datos sin procesar de la Web con una herramienta automatizada (rastreador) se conoce como raspado web.

Python tiene un gran conjunto de herramientas y bibliotecas para raspar datos de la Web. Estos son algunos de ellos:

BibliotecaDescripción
Hermosa sopa Beautiful Soup es una biblioteca de Python para extraer datos de archivos HTML y XML en árboles de análisis. La biblioteca proporciona métodos y expresiones pitónicas para navegar, buscar, modificar y extraer información de los árboles de análisis.
requests requestses una biblioteca HTTP elegante y potente para Python. Proporciona una API intuitiva y concisa diseñada para seres humanos.
Scrapy Scrapy es un framework de rastreo web rápido y de alto nivel. Le permite rastrear sitios web y extraer datos estructurados de sus páginas.
urllib.request urllib.requestes un módulo de biblioteca estándar que define funciones y clases para ayudarle a abrir URLs. También le permite trabajar con autenticación básica y digerir, redirecciones, cookies y más.

Para raspar datos de la web, echa un vistazo a:

  • Tutoriales de Extracción de datos web de Python
  • Python Extracción de datos web Ruta de aprendizaje

Una vez que conozcas los conceptos básicos del raspado web, puedes sumergirte en un proyecto práctico y construir tu propio raspador web con Python y Beautiful Soup. Después de terminar este proyecto práctico, podrás aplicar el mismo proceso y herramientas a cualquier otro sitio web estático. Estas habilidades le permiten extraer información relevante y usarla en sus aplicaciones. ¡Adelante y pruébalo!

Nota: Antes de usar sus habilidades de Python para el raspado web, debe verificar la política de uso de su sitio web objetivo para asegurarse de que rasparlo con herramientas automatizadas no sea una violación de sus términos de uso.

Un segundo proyecto que puede construir de inmediato es un servicio de notificación de precios de Bitcoin. Desde que superó un precio de poco más de $ 40,000 en enero de 2021, la criptomoneda ha estado en la mente de millones. Su precio continúa fluctuando, pero muchas personas lo considerarían una inversión que vale la pena.

Si está buscando sacar provecho de la fiebre del oro virtual y solo necesita saber cuándo hacer su movimiento, entonces deberá mantenerse al tanto de los precios de Bitcoin. La base de este proyecto es la creación de applets IFTTT (If This Then That). Aprenderás a usarrequestspara enviar solicitudes HTTP y cómo usar un webhook para conectar su aplicación a servicios externos.

Este servicio de notificación de precios de Bitcoin es el proyecto de inicio perfecto para un principiante Pythonista con interés en cripto. A continuación, puede ampliar el servicio que va a construir en este tutorial para controlar otras monedas también.

Gracias a Internet y, cada vez más, al Internet de las cosas, ahora tienes acceso a hordas de datos que no estaban disponibles hace años.

Analytics es una gran parte de cualquier campo que trabaja con datos. ¿De qué habla la gente? ¿Qué patrones puedes ver en su comportamiento? Twitter es un gran lugar para obtener respuestas a algunas de estas preguntas. Si estás interesado en el análisis de datos, entonces un proyecto de análisis de sentimiento de Twitter es una excelente manera de usar tus habilidades de Python para responder preguntas sobre el mundo que te rodea.

En este proyecto, aprenderás a extraer datos de Twitter y analizar el sentimiento del usuario con un entorno Docker. Aprenderás cómo registrar una aplicación con Twitter, lo que tendrás que hacer para acceder a su API de transmisión. Verá cómo usar Tweepy para filtrar qué tweets desea extraer, TextBlob para calcular el sentimiento de esos tweets, Elasticsearch para analizar su contenido y Kibana para visualizar los resultados.

Acelere y automatice su flujo de trabajo

Las computadoras son extremadamente buenas para realizar tareas repetitivas y aburridas. Pueden estar haciendo lo mismo durante mucho tiempo sin cometer errores. Esta es una característica valiosa que puede ayudarlo a hacer que su trabajo diario sea más agradable y productivo.

Con Python, puede automatizar muchas tareas en su flujo de trabajo. Puede automatizar y administrar sus operaciones de DevOps, crear un entorno de desarrollo de Python efectivo, manejar el proceso de empaquetado e implementación en su ciclo de desarrollo, probar su software, administrar sus sistemas de bases de datos y más.

DevOps

DevOps comprende el desarrollo de software y las operaciones generales de TI. DevOps le permite manejar todo el ciclo de vida de sus aplicaciones y productos de software. Incluye desarrollo, pruebas, empaque e implementación, y otras operaciones relacionadas.

Python es una de las tecnologías principales que las personas usan para DevOps. Su flexibilidad y accesibilidad hacen de Python una excelente opción para este trabajo, permitiendo a los equipos de desarrollo mejorar su flujo de trabajo y ser más eficientes y productivos.

En el ecosistema de Python, encontrará que algunas herramientas populares de DevOps están escritas en Python. También encontrarás que puedes usar Python para controlar la mayoría de esas herramientas. Estos son algunos de ellos:

BibliotecaDescripción
Ansible Ansible es una herramienta para el aprovisionamiento de software, la gestión de la configuración y la implementación de aplicaciones. Permite la infraestructura como código.
Docker componer Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker multicontenedor. Puede configurar los servicios de su aplicación con un archivo YAML. Luego, con un solo comando, puede crear e iniciar todos los servicios desde su archivo de configuración. Funciona en producción, puesta en escena, desarrollo, pruebas y más.

Para empezar con DevOps, echa un vistazo a:

  • Tutoriales de Python DevOps
  • DevOps con la ruta de aprendizaje de Python

Con estos recursos, desarrollará varias habilidades y aprenderá a usar herramientas y tecnologías que cualquier ingeniero de DevOps que trabaje con Python debería saber.

Entorno de desarrollo

La construcción de un entorno productivo y eficaz para usted y sus compañeros de equipo es una parte fundamental del desarrollo de software. Con este fin, Python tiene un gran conjunto de herramientas que le permite aislar sus paquetes, bibliotecas y versiones de Python en entornos virtuales por proyecto.

Estas son algunas de las herramientas más populares:

Descripción de la herramienta
conda condaes un paquete de código abierto y un sistema de gestión del entorno. Le permite instalar, ejecutar y actualizar rápidamente los paquetes y sus dependencias. Le ayuda a encontrar e instalar paquetes.
pip pipes una herramienta de gestión de paquetes para Python. Permite instalar paquetes desde PyPI y otros índices.
Pipenv Pipenv es una herramienta que tiene como objetivo llevar lo mejor de todos los mundos de embalaje al mundo de Python. Le permite crear y administrar entornos virtuales para sus proyectos. Proporciona una forma de utilizarpipvirtualenva través de una interfaz unificada.
pipx pipx es una herramienta que le ayuda a instalar y ejecutar aplicaciones de usuario final escritas en Python en entornos aislados. Crea un entorno aislado para cada aplicación y sus paquetes asociados. Hace que las aplicaciones estén disponibles en su línea de comandos o shell.
pyenv pyenv es una herramienta para instalar y administrar múltiples versiones de Python. Te permite cambiar entre ellos rápidamente. También le permite definir versiones de Python por proyecto.

Para crear un entorno de desarrollo eficaz, echa un vistazo a:

  • Tutoriales de herramientas de desarrollo de Python
  • Perfeccione su ruta de aprendizaje de configuración de desarrollo de Python
  • Un entorno de Python eficaz: cómo hacerse en casa

Aprender a construir un entorno Python efectivo para tu aventura de desarrollo impulsará tu productividad al siguiente nivel, por lo que es importante tomarse el tiempo para pulir esta habilidad.

Empaquetado e implementación de software

Otra parte crítica de su ciclo de desarrollo de software es empaquetar, distribuir e implementar sus productos a sus usuarios finales o clientes. En Python, una forma rápida y popular de implementar aplicaciones y bibliotecas es publicarlas en PyPI.

Estas son algunas de las herramientas que puede utilizar para este propósito:

Descripción de la herramienta
Flit Flit es una herramienta que proporciona una forma rápida de poner sus paquetes y módulos de Python en PyPI. Le ayuda a configurar la información sobre su paquete, para que pueda publicarla en PyPI con el mínimo esfuerzo.
Poesía Poetry es una herramienta para crear, construir, instalar y empaquetar proyectos de Python. También te permite publicar tus proyectos en PyPI. Realiza un seguimiento y resuelve las dependencias de su proyecto. Utiliza sus entornos virtuales actuales o crea otros nuevos para aislar sus paquetes de la instalación de Python en todo el sistema.
PyInstaller PyInstaller es una herramienta que congela las aplicaciones de Python en ejecutables independientes que funcionan bajo Windows, GNU / Linux, macOS y otros.
setuptools setuptools es una colección de mejoras para Python distutils que le permite construir y distribuir distribuciones de Python, especialmente aquellas que dependen de otros paquetes.
Gemelos Twine es una utilidad para publicar paquetes Python en PyPI. Le permite cargar distribuciones de fuente y binarias de sus proyectos.

Para empezar, echa un vistazo a:

  • Cómo publicar un paquete Python de código abierto en PyPI
  • Uso de PyInstaller para distribuir fácilmente aplicaciones Python

Con estos recursos, puede comenzar a empaquetar e implementar sus aplicaciones, bibliotecas y paquetes de Python para sus usuarios finales, clientes y universidades. Además, Python Packaging Authority proporciona mucha información útil y tutoriales para ayudarlo a distribuir paquetes de Python con herramientas modernas.

Sistemas de base de datos

La mayoría de las aplicaciones que construirás en tu carrera como desarrollador interactuarán con los datos de alguna manera. Esta interacción ocurre comúnmente a través de un sistema de administración de bases de datos (DBMS) que le permite definir, crear, mantener y controlar el acceso a su base de datos o bases de datos.

Para conectar y manipular sus bases de datos con Python, tiene varias opciones que incluyen tanto paquetes de biblioteca estándar como paquetes y bibliotecas de terceros. También tiene opciones para bases de datos SQL y NoSQL en Python.

Las herramientas de mapeo relacional de objetos (ORM) son otro tipo importante de herramienta que probablemente usará para trabajar con bases de datos en Python. Estas herramientas le permiten utilizar la programación orientada a objetos para crear y manipular sus bases de datos.

Aquí hay algunas bibliotecas de Python que puede usar para conectar y operar bases de datos:

LibraryDatabaseDescription
MongoMotor MongoDB MongoEngine es un mapeador documento-objeto para trabajar con MongoDB usando programación orientada a objetos en Python.
Conector MySQL/Python MySQL MySQL Connector es un controlador Python autónomo para la comunicación con servidores MySQL.
Psycopg PostgreSQL Psycopg es un adaptador de base de datos PostgreSQL para el lenguaje de programación Python.
PyMongo MongoDB PyMongo es una distribución de Python que contiene herramientas para trabajar con bases de datos MongoDB. Proporciona un controlador nativo de Python para este tipo de sistema de base de datos.
SQLAlquimia SQL SQLAlchemy es un conjunto de herramientas de Python SQL y mapeador de objetos-relacionales para bases de datos SQL.
sqlite3 SQLite sqlite3es una base de datos ligera basada en disco que no requiere un proceso de servidor separado. Permite acceder a bases de datos utilizando una variante no estándar de SQL. Está disponible gratuitamente y viene en la biblioteca estándar de Python.

Para empezar con las bases de datos, echa un vistazo a:

  • Tutoriales de base de datos Python
  • Ruta de aprendizaje de recopilación de datos y almacenamiento

Crear y trabajar con bases de datos es una forma poderosa de administrar datos en sus aplicaciones Python. Las bases de datos agregan una funcionalidad y versatilidad significativas a sus programas y le permiten proporcionar características interesantes a sus usuarios y clientes. La gestión de bases de datos es una habilidad fundamental en su educación de desarrollador.

Pruebas de software

Cuando comienzas con Python o con programación, probablemente comiences creando pequeños programas y scripts que puedes ejecutar y probar manualmente para asegurarte de que funcionen como esperas. Sin embargo, cuando sus programas crecen y se vuelven más complejos, probarlos a mano es casi imposible. Esto es cuando las pruebas automatizadas entran en escena.

Desafortunadamente, los desarrolladores cometen errores, y ningún código es perfecto. Por lo tanto, necesitará un proceso de prueba que lo ayude a identificar errores y evitar ponerlos en producción. Las pruebas también pueden impulsar el diseño de su código y ayudarlo a verificar características no funcionales, como el rendimiento, la seguridad, la usabilidad, el cumplimiento normativo y más. Las pruebas, por lo tanto, son un componente importante del desarrollo de software.

Python tiene algunas de las mejores herramientas cuando se trata de pruebas. Puede usar estas herramientas para escribir pruebas consistentes y ejecutarlas automáticamente. Aquí hay una pequeña muestra de estas herramientas:

Descripción de la herramienta
doctest doctest es un módulo estándar que busca en sus docstrings fragmentos de texto que parecen sesiones interactivas de Python y las ejecuta para verificar que funcionen correctamente.
pytest pytest es un marco de pruebas robusto y maduro que le permite escribir y automatizar pruebas. Puede escalar desde pequeñas pruebas unitarias hasta pruebas funcionales complejas para sus aplicaciones y bibliotecas.
tox tox es una herramienta genérica de línea de comandos de prueba y administración virtualenv. Le permite comprobar si sus paquetes se instalan correctamente en diferentes versiones e intérpretes de Python. Puede ejecutar sus pruebas en cada uno de los entornos configurados.
unittest unittestes un marco de prueba de unidades disponible en la biblioteca estándar de Python. Es compatible con la automatización de pruebas, la configuración y el desmontaje de pruebas, la agregación de pruebas en colecciones y más.

Para comenzar con las pruebas, echa un vistazo a:

  • Tutoriales de prueba de Python
  • Prueba tus aplicaciones Python Learning Path

Como desarrollador, necesita producir código confiable que funcione correctamente. Esto significa que debe probar su código cada vez que lo cambie o agregue nuevas características. Las pruebas automatizadas son el camino a seguir en estas situaciones.

Desarrollar sistemas integrados y robots

Escribir sus propias aplicaciones para la Web o de escritorio es genial, pero escribir código que controle cómo funcionan los sistemas de hardware y los robots puede ser aún más genial. Campos como el Internet de las cosas, la automatización del hogar, los coches autónomos y la robótica se han vuelto cada vez más populares con los avances en ciencia y tecnología.

Python ha saltado gradualmente al mundo de los sensores, motores eléctricos, circuitos, microcontroladores y robots. Hoy en día, puedes encontrar varios proyectos de Python que se mueven en esa dirección. Estos son algunos de ellos:

BibliotecaDescripción
BBC micro:bit BBC micro:bit es una computadora de bolsillo que le presenta cómo el software y el hardware trabajan juntos. Es programable con Python.
CircuitoPython CircuitPython es un lenguaje de programación diseñado para simplificar la experimentación y el aprendizaje de código en tarjetas microcontroladoras de bajo costo.
MicroPython MicroPython es una implementación eficiente y eficiente de Python. Incluye un pequeño subconjunto de la biblioteca estándar de Python. Está optimizado para funcionar en microcontroladores y en entornos restringidos.
PythonRobotics PythonRobotics es una compilación de varios algoritmos robóticos con visualizaciones. Se centra en la navegación autónoma. Su objetivo es permitirle comprender las ideas básicas detrás de cada algoritmo robótico que proporciona.
Frambuesa Pi Raspberry Pi es una computadora de propósito general basada en Linux. Tiene un sistema operativo completo con una interfaz GUI que es capaz de ejecutar muchos programas diferentes al mismo tiempo. Python se basa en la Raspberry Pi.
rospy rospy es una biblioteca cliente para ROS (Robot Operating System). Su API permite a los programadores de Python interactuar rápidamente con ROS para crear comportamientos de robots complejos y confiables.

Para comenzar con Python incrustado, echa un vistazo a:

  • MicroPython: una introducción a la programación de hardware en Python
  • Episodio 5: Explorando el circuitoPython
  • Python incorporado: construye un juego en el micro:bit de la BBC

Si desea comenzar a crear un proyecto relacionado con el hardware con Python, entonces mire cómo construir proyectos físicos con Python en la Raspberry Pi. En este proyecto, aprenderás a configurar una Raspberry Pi, ejecutar código Python en ella, leer la entrada de sus sensores, enviar señales a sus componentes electrónicos y más.

Lo que probablemente no deberías hacer con Python

Python es un lenguaje muy versátil, y hay mucho que puedes hacer con él. Sin embargo, no puedes hacerlo todo. Hay cosas para las que Python no es muy adecuado en absoluto.

Como lenguaje interpretado, Python tiene problemas para interactuar con dispositivos de bajo nivel, como los controladores de dispositivos. Tendrías un problema si quisieras escribir un sistema operativo con Python. Es mejor que te quedes con C o C ++ para aplicaciones de bajo nivel.

Sin embargo, incluso eso podría no ser cierto por mucho tiempo. Como testimonio de la flexibilidad de Python, hay personas que están trabajando en proyectos que extienden la usabilidad de Python a interacciones de bajo nivel. MicroPython y CircuitPython son solo algunos de estos proyectos que diseñan capacidades de bajo nivel para Python.

¿Qué más puedo hacer con Python?

La lista de ideas en este tutorial no es exhaustiva. Hay muchos otros campos en los que puedes trabajar con Python. Si está buscando proyectos prácticos para los que Python es adecuado, consulte 13 ideas de proyectos para desarrolladores intermedios de Python para encontrar inspiración.

También puede hacer su propia investigación para encontrar proyectos que despiertan su interés. Si no estás seguro de por dónde empezar, entonces sigue a Python Real en Twitter. Encontrarás interesantes e interesantes proyectos de Python de la comunidad allí. ¡Tal vez encuentres algo en lo que no puedas esperar para contribuir!

Conclusión

Tener una comprensión básica de lo que puedes hacer con Python es clave para que sigas subiendo de nivel tus habilidades de Python. ¡Puedes usar Python en una variedad de campos diferentes que van desde el desarrollo de aplicaciones hasta la robótica!

En este artículo, has visto que puedes usar Python para:

  • Desarrollo general de software
  • Ciencia de datos y matemáticas
  • Aceleración y automatización del flujo de trabajo
  • Sistemas embebidos y robótica

También vio ideas para varios proyectos prácticos que puede construir para llevar sus habilidades de Python al siguiente nivel.

Próximos pasos

¡Así que ahí lo tienes! Una extensa lista de temas y proyectos prácticos para comenzar a trabajar desde Python principiante hasta Pythonista experto.

No importa dónde elijas comenzar, estarás abriendo innumerables vías para aumentar tus habilidades de programación. ¡Escoge algo y empieza! ¿Tienes una idea para un proyecto práctico que no está aquí? ¡Deja un comentario abajo! Podrías sugerir el proyecto perfecto para un compañero programador.

Si te quedas atascado y necesitas un empujón en la dirección correcta, echa un vistazo a 11 consejos para principiantes para aprender programación en Python para ayudarte a volver a encarrilarte.

Otra gran manera de despegarse es hablarlo. La codificación no tiene que ser una actividad solitaria. Si necesitas una forma de hacer preguntas y obtener respuestas rápidamente de desarrolladores de Python con conocimientos, considera unirte a la comunidad de Slack de The Real Python Member. Todo el mundo es bienvenido, no importa cuánta experiencia tenga. Siempre puedes ayudar a los demás y también obtener ayuda de los demás.

Enlaces Externos

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *