Python en el mundo de la programación todo el mundo está familiarizado con la popularidad de este lenguaje. Aprender Python y construir el proyecto siempre es una experiencia increíble para los desarrolladores. Este lenguaje realmente merece exageración en la era actual y, por qué no, si puede resolver muchos problemas del mundo real. Bueno, el viaje de cada programador comienza con el aprendizaje de los conceptos básicos de cualquier lenguaje de programación y, una vez que avanzan, se dan cuenta de la importancia de construir los proyectos usando el mismo lenguaje. Sienten curiosidad por saber cómo funcionan las cosas en algunas aplicaciones e intentan obtener una exposición práctica para ampliar sus conocimientos mediante la creación de algunos proyectos geniales. Si es un desarrollador, aprender la sintaxis de un lenguaje no es suficiente… es importante saber cómo se pueden aplicar los conceptos de un lenguaje para resolver algunos problemas o desafíos del mundo real. Bien,
Python es un lenguaje muy poderoso y lo mejor es que es fácil de aprender. Puedes construir muchas cosas geniales usando este lenguaje. Así que no te quedes atascado en conceptos teóricos. Una vez que conozca los conceptos básicos de este idioma, continúe, explore, descubra algunos buenos proyectos en los que trabajar y obtenga una exposición práctica. En programación, recuerde siempre que obtener experiencia práctica es la mejor manera de fortalecer su conocimiento. Hoy en este blog vamos a discutir algunos proyectos en los que puedes trabajar como desarrollador intermedio de Python. Estos proyectos no son demasiado difíciles ni demasiado fáciles. Habrá algunos desafíos mientras construyes estos proyectos y realmente disfrutarás resolviendo esos problemas. Hemos dividido los proyectos en tres categorías…
- Aplicaciones web: Básicamente, los desarrolladores son responsables de crear tanto la parte frontal como la trasera de la aplicación. Como desarrollador de Python, su enfoque principal sería la parte de back-end donde se implementa toda la lógica comercial. Puede usar algunos marcos web de Python como Django y Flask.
- GUI de escritorio: puede crear su propia aplicación de interfaz gráfica de usuario de escritorio usando Python. PySimpleGUI es uno de los marcos fáciles de usar para aplicaciones de escritorio. PyQt5 es otro marco de GUI potente y avanzado, pero tiene una curva de aprendizaje pronunciada.
- Línea de comandos: las aplicaciones de línea de comandos funcionan en una ventana de consola. Puede usar marcos de trabajo docopt , argparse y click para crear sus aplicaciones.
Ahora analicemos algunos proyectos para las tres categorías anteriores uno por uno…
Proyectos Web
1. Herramienta para acortar URL
Detalles del proyecto: ¿Está familiarizado con algunas herramientas como bit.ly y TinyURL ? Estas herramientas acortan la URL y las hacen fáciles de recordar. Las direcciones URL largas están llenas de caracteres difíciles y no es fácil recordarlos. Estos servicios reducen los caracteres o letras en las URL y devuelven una nueva URL más corta al usuario. Por ejemplo: https://practice.geeksforgeeks.org/explore/?category%5B%5D=Arrays&page=1 se puede convertir en https://tinyurl.com/y92ysnmb . Así que aquí el objetivo es construir un tipo de aplicación similar.
Detalles técnicos: el objetivo principal de esta aplicación es acortar la URL y cuando el usuario visita la URL acortada, debe ser redirigido a la URL original. Para generar los caracteres de la URL abreviada, puede utilizar la combinación de módulos aleatorios y de string . Debe guardar las URL originales y abreviadas en la base de datos, de modo que cada vez que un usuario visite la URL abreviada (días, meses o incluso años después), la aplicación verifica la base de datos, si existe la URL, lo redirige al original, o de lo contrario. redirige a una página 404.
Desafío adicional: puede hacer que esta herramienta sea más fácil de usar agregando la función de opción de URL personalizada para el usuario. Será más fácil para un usuario recordar la URL personalizada generada por ellos mismos.
Ejemplos de la vida real:
2. Fije su nota
Detalles del proyecto: tenemos tantas ideas a lo largo del día y es una naturaleza común de los humanos que olvidamos las cosas muy fácilmente (incluso las ideas o pensamientos importantes) debido a nuestra apretada agenda o por alguna otra razón. Para recordar las cosas fácilmente ¿no es buena idea hacer una app que cree una nota de nuestras ideas online? Usando Python, puede crear una aplicación Pin Your Note donde un usuario puede enumerar todas las cosas que quiere recordar y esa lista será accesible desde cualquier lugar (ya que está en una plataforma digital).
Detalles técnicos: El objetivo principal de este proyecto es permitir a los usuarios guardar sus ideas. Cada usuario tendrá sus propias notas privadas y para crear notas privadas necesita crear una función de creación de cuenta con autenticación. Puede usar el marco Django que viene con su sistema de autenticación, pero si está usando una botella o un matraz, tendrá que implementar la autenticación del usuario por su cuenta.
También puede agregar la función que permite a los usuarios crear una categoría de las notas. De esta forma, los usuarios podrán segmentar sus notas en diferentes categorías. Por ejemplo, un usuario puede crear una sección para lenguajes de programación, una para estructura de datos y algoritmos y otra para bases de datos.
Si hablamos de usar la base de datos para esta aplicación para almacenar la información, entonces puede usar el módulo MySQLdb si selecciona la base de datos MySQL o el módulo psycopg2 para una base de datos PostgreSQL. También puede usar otros módulos, pero eso depende de la base de datos que seleccione para la aplicación.
Desafío adicional: muchas veces olvidamos que hemos creado nuestras notas importantes en algún lugar y en ese momento esperamos que alguien nos recuerde las notas. Entonces puede agregar una función de recordatorio en esta aplicación. Esta función permitirá a los usuarios establecer una hora para el recordatorio y recibirá una notificación por correo electrónico sobre las notas.
Ejemplos de la vida real:
3. Aplicación de prueba
Detalles del proyecto: los cuestionarios siempre son útiles para probar el conocimiento, identificar los errores y corregirlos. Tomar una prueba en línea es la mejor manera de comprender los conceptos por completo. Con Python, puede crear una aplicación de prueba que enumerará una serie de preguntas para los usuarios y los usuarios podrán responder esas preguntas. Piense en la aplicación Quiz como una especie de cuestionario.
Detalles técnicos: el objetivo principal es establecer cuestionarios (serie de preguntas) y las personas deben responder esas preguntas. La aplicación mostrará la puntuación final y la respuesta correcta a las preguntas. Aquí debe pensar en los usuarios administradores porque solo el administrador podrá crear el cuestionario o establecer las preguntas para otros usuarios (que asistirán al cuestionario).
Debe implementar la función de creación de cuentas para mantener los registros individuales de puntajes. El usuario administrador debería poder crear pruebas con las preguntas y respuestas simplemente cargando un archivo de texto. Puede elegir cualquier formato para el archivo de texto, pero la aplicación debe convertir este archivo en un cuestionario. En su base de datos, debe almacenar las preguntas, las posibles respuestas, las respuestas correctas y las puntuaciones de cada usuario. Puede usar el módulo MySQLdb si selecciona la base de datos MySQL o el módulo psycopg2 para una base de datos PostgreSQL. También puede usar otros módulos, pero eso depende de la base de datos que seleccione para la aplicación.
Desafío adicional: agregue una función que permita a los usuarios agregar cronómetros a las pruebas. De esta forma, los creadores de un cuestionario (usuarios administradores) pueden determinar cuántos segundos o minutos debe dedicar un usuario a cada pregunta del cuestionario. También puede agregar la función de compartir cuestionarios donde un usuario puede compartir cuestionarios interesantes en otras plataformas.
Ejemplos de la vida real:
Proyectos GUI
1. Reproductor de MP3
Detalles del proyecto: No es posible reproducir el contenido de un archivo de audio sin un reproductor. Los archivos de audio son archivos digitales y puede mostrar su habilidad creando una herramienta de reproductor de MP3 usando Python. Necesita crear un software de reproductor de MP3 que emule el reproductor de MP3 físico. Con este software, los usuarios podrán reproducir archivos MP3 en el escritorio, la computadora portátil o la computadora.
Detalles técnicos: El objetivo es construir un software de MP3 que permita a sus usuarios reproducir MP3 y otros archivos de audio digital. Debe concentrarse en crear una interfaz de usuario hermosa para una mejor participación de los usuarios. La interfaz mostrará una lista de los archivos MP3 disponibles. Un usuario también puede tener la opción de listar otros archivos de audio digital que no sean MP3. Además, un usuario debería poder ver la información del archivo que se está reproduciendo. Puede incluir alguna información como por ejemplo….
- El nombre del archivo
- su longitud
- La cantidad jugada (minutos y segundos)
- La cantidad no jugada (minutos y segundos)
Para manejar los archivos MP3 y otros archivos de audio digital, puede usar la biblioteca pygame , pymedia y simpleaudio en Python. Estas bibliotecas le permiten trabajar con archivos multimedia en unas pocas líneas de código. También puede agregar una función que permita a los usuarios crear una lista de reproducción. Para almacenar la información de la lista de reproducción creada, puede usar el módulo sqlite3 de la base de datos SQLite.
Desafío adicional: agregue una función que permita a los usuarios repetir los archivos que se están reproduciendo actualmente o incluso mezclar la lista de archivos que se reproducirán. También puede incluir una función que permita a los usuarios aumentar y disminuir la velocidad de reproducción del archivo de audio.
Ejemplos de la vida real:
2. Despertador
Detalles del proyecto: Usamos la alarma en nuestra vida cotidiana que brinda un recordatorio de audio o visual sobre una determinada condición. Al usar Python, debe crear un software de alarma que permita a los usuarios establecer el tiempo para una determinada condición y, cuando se cumpla la condición, debe emitir una señal de audio. Esta herramienta funcionará desde la computadora portátil o el dispositivo de escritorio del usuario.
Detalles técnicos: en este proyecto, debe centrarse principalmente en el tiempo y la señal de audio de la alarma porque el objetivo principal es activar las señales de audio en ciertos momentos del día. Agregue la función que permite a los usuarios crear, editar y eliminar alarmas. Además, la interfaz debe mostrar todas las alarmas activas e inactivas. Para señales de audio o recordatorios, debe configurar el tono en su software. Puede usar la biblioteca pygame para reproducir audio. También debe guardar información sobre las alarmas en su base de datos, como… la fecha, la hora y la ubicación del tono de la alarma.
Desafío adicional: agregue una función que permita a los usuarios configurar alarmas recurrentes. Con esta función, el usuario podrá configurar alarmas que sonarán a una hora determinada en determinados días de la semana, todas las semanas. Por ejemplo, se puede configurar una alarma a las 11:00 a. m. todos los sábados. También puede agregar la función de repetición en esta aplicación.
Ejemplos de la vida real:
Proyectos de línea de comando
1. Comprobador de conectividad del sitio
Detalles del proyecto: cuando visitamos una URL o un sitio web, la mayoría de las veces obtenemos la información que necesitamos en nuestro navegador. A veces, los sitios web pueden estar caídos y puede dar algún mensaje de error en el navegador. Esto podría suceder debido a algún problema con el servidor. Aquí puede mostrar su habilidad y crear un verificador de conectividad del sitio. Un verificador de conectividad del sitio brinda el estado de un sitio web, visitando la URL. Visita la URL a intervalos regulares y devuelve los resultados de cada visita. En lugar de visitar las URL manualmente para verificar el estado del sitio, puede usar esta herramienta para monitorear varios sitios web desde una página.
Detalles técnicos: El objetivo principal es comprobar el estado de un sitio web. Para implementar esta función, puede usar TCP o ICMP para su conexión. La programación de sockets en python lo ayudará a realizar la conexión. Use el módulo de socket en Python y para obtener más información sobre la programación de socket, visite el enlace Python Socket o Programación de red de Python . El usuario debe poder agregar y eliminar sitios de la lista de sitios para verificar. Puede usar docopt , click o argparsemarcos para agregar comandos para estas características. Tenga en cuenta que el usuario debe poder iniciar la herramienta, detenerla y determinar los intervalos. También debe guardar la lista de los archivos marcados y, para hacerlo, puede usar el módulo sqlite3 de la base de datos SQLite.
Desafío adicional: el usuario debe seguir revisando la línea de comando para verificar el estado del sitio. Para evitar esto, puede agregar una función de notificación (por ejemplo, un sonido de fondo) para alertar al usuario cuando cambia el estado de un sitio. Mantenga el estado anterior de un sitio en su base de datos porque esa es la única forma en que la herramienta puede saber cuándo cambia el estado.
Ejemplos de la vida real:
2. Herramienta de cambio de nombre de archivos
Detalles del proyecto: Muchas veces necesitamos cambiar el nombre de los archivos en nuestro directorio según ciertas convenciones. Por ejemplo, File001.jpg, File002.jpg, File003.jpg, y así sucesivamente. Hacer esta tarea manualmente puede ser repetitivo y aburrido. Para evitar este trabajo manual, puede crear una herramienta para cambiar el nombre de una gran cantidad de archivos.
Detalles Técnicos: El objetivo principal es crear una herramienta para renombrar archivos sin errores en un par de segundos. Para cambiar el nombre de los archivos de destino, puede usar las bibliotecas os , sys y shutil disponibles en Python. Los usuarios deberían poder pasar la convención de nomenclatura de su propia elección para cambiar el nombre de todos los archivos en el directorio. Aquí, el módulo de expresiones regulares ayudará a hacer coincidir los patrones de nombres requeridos si sabe cómo funciona la expresión regular. Si un usuario pasa una convención de nomenclatura como myfiles como parte de los comandos, la herramienta debería cambiar el nombre de los archivos como myfiles123, donde 123 es un número.
Desafío adicional: implementar una función que permita a los usuarios elegir solo una cierta cantidad de archivos para cambiar el nombre, en lugar de todos los archivos. Para esta función, la herramienta clasificará los archivos según el orden alfabético, la hora de creación del archivo o el tamaño del archivo, según los requisitos del usuario.
Ejemplos de la vida real:
Publicación traducida automáticamente
Artículo escrito por anuupadhyay y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA