7 интересных идей проекта Python для разработчиков среднего уровня

Опубликовано: 16 Июня, 2021

Python в мире программирования всем знаком с популярностью этого языка. Изучение Python и создание проекта - это всегда потрясающий опыт для разработчиков. Этот язык действительно заслуживает шумихи в современную эпоху, и почему бы и нет, если он может решить множество реальных проблем. Что ж, путь каждого программиста начинается с изучения основ любого языка программирования, и, продвигаясь вперед, они осознают важность создания проектов с использованием одного и того же языка. Им становится любопытно узнать, как все работает в некоторых приложениях, и они пытаются получить практический опыт, чтобы расширить свои знания, создав несколько интересных проектов. Если вы разработчик, то изучения синтаксиса языка недостаточно ... важно знать, как концепции языка могут быть применены для решения некоторых реальных проблем или задач. Что ж, питон не исключение.

Python - очень мощный язык, и самое главное, его легко выучить. Используя этот язык, вы можете создать множество классных вещей. Так что не зацикливайтесь на теоретических концепциях. Как только вы овладеете основами этого языка, приступайте к изучению, найдите несколько хороших проектов для работы и получите некоторое практическое представление. В программировании всегда помните, что получение практического опыта - лучший способ укрепить свои знания. Сегодня в этом блоге мы собираемся обсудить некоторые проекты, над которыми вы можете работать как разработчик Python среднего уровня. Эти проекты не слишком сложные и не слишком простые. При создании этих проектов возникнут некоторые проблемы, и вам действительно понравится их решение. Мы разделили проекты на три категории…

  1. Веб-приложения: в основном разработчики несут ответственность за создание как интерфейсной, так и внутренней части приложения. Как разработчик на Python, ваше основное внимание будет сосредоточено на внутренней части, где будет реализована вся бизнес-логика. Вы можете использовать некоторые веб-фреймворки Python, такие как Django и Flask.
  2. Графический интерфейс рабочего стола: вы можете создать собственное приложение с графическим интерфейсом пользователя для рабочего стола, используя Python. PySimpleGUI - один из удобных фреймворков для настольных приложений. PyQt5 - еще одна мощная продвинутая среда графического интерфейса, но она требует сложного обучения.
  3. Командная строка: приложения командной строки работают в окне консоли. Вы можете использовать фреймворки docopt , argparse и click для создания своих приложений.

Теперь давайте по очереди обсудим несколько проектов для всех трех категорий…

Веб-проекты

1. Инструмент сокращения URL-адресов

Детали проекта: знакомы ли вы с некоторыми инструментами, такими как bit.ly и TinyURL? Эти инструменты сокращают URL-адреса и упрощают их запоминание. Длинные URL-адреса заполнены сложными символами, и их нелегко запомнить. Эти службы сокращают количество символов или букв в URL-адресах и возвращают пользователю новый сокращенный URL-адрес. Например: https://practice.geeksforgeeks.org/explore/?category%5B%5D=Arrays&page=1 можно преобразовать в https://tinyurl.com/y92ysnmb. Итак, цель состоит в том, чтобы создать подобное приложение.

Технические детали: основная цель этого приложения - сократить URL-адрес, и когда пользователь посещает сокращенный URL-адрес, он / она должен быть перенаправлен на исходный URL-адрес. Чтобы сгенерировать символы для сокращенного URL, вы можете использовать комбинацию модулей random и string. Вам необходимо сохранить исходные и сокращенные URL-адреса в базе данных, поэтому всякий раз, когда пользователь посещает сокращенный URL-адрес (дни, месяцы или даже годы после), приложение проверяет базу данных, если URL-адрес существует, он перенаправляет на исходный, иначе он перенаправляет на страницу 404.

Дополнительная задача: вы можете сделать этот инструмент более удобным для пользователя, добавив функцию настраиваемого URL-адреса для пользователя. Пользователю будет легче запомнить настраиваемый URL-адрес, сгенерированный им самим.

Примеры из реальной жизни:

  • Bit.ly
  • TinyURL

2. Закрепите заметку

Детали проекта: мы получаем так много идей в течение дня, и это обычная природа человека, что мы очень легко забываем вещи (даже важные идеи или мысли) из-за нашего плотного графика или по какой-либо другой причине. Чтобы легко запоминать вещи, разве не стоит создать приложение, которое записывает наши идеи в Интернете? Используя Python, вы можете создать приложение Pin Your Note, в котором пользователь может перечислить все, что он / она хочет запомнить, и этот список будет доступен из любого места (поскольку он находится на цифровой платформе).

Технические детали: Основная цель этого проекта - позволить пользователям сохранять свои идеи. У каждого пользователя будут свои личные заметки, и для создания личных заметок вам необходимо создать функцию создания учетной записи с аутентификацией. Вы можете использовать фреймворк Django, который поставляется с его системой аутентификации, но если вы используете бутылку или фляжку, вам придется реализовать аутентификацию пользователя самостоятельно.

Вы также можете добавить функцию, которая позволяет пользователям создавать категории заметок. Таким образом, пользователи смогут сегментировать свои заметки по разным категориям. Например, пользователь может создать один раздел для языков программирования, один для структуры данных и алгоритмов, а другой - для баз данных.

Если мы говорим об использовании базы данных для этого приложения для хранения информации, вы можете использовать модуль MySQLdb, если вы выберете базу данных MySQL или модуль psycopg2 для базы данных PostgreSQL. Вы также можете использовать другие модули, но это зависит от базы данных, выбранной для приложения.

Дополнительная задача: часто мы забываем, что где-то создали наши важные заметки, и в этот раз мы ожидаем, что кто-то может напомнить нам о заметках. Таким образом, вы можете добавить функцию напоминания в это приложение. Эта функция позволит пользователям установить время для напоминания, и он / она получит уведомление по электронной почте о заметках.

Примеры из реальной жизни:

  • Подкалывать
  • Примечание.

3. Приложение для викторины

Детали проекта: тесты всегда полезны для проверки знаний, выявления ошибок и исправления этих ошибок. Пройти онлайн-тест - лучший способ полностью понять концепции. Используя Python, вы можете создать приложение Quiz, в котором будет перечислен ряд вопросов для пользователей, и пользователям будет разрешено отвечать на эти вопросы. Думайте о приложении викторины как о чем-то вроде анкеты.

Технические детали: основная цель - составить викторину (серию вопросов), и люди должны ответить на эти вопросы. Приложение отобразит итоговую оценку и правильный ответ на вопросы. Здесь вам нужно подумать о пользователях-администраторах, потому что только администратору будет разрешено создавать викторину или задавать вопросы для других пользователей (которые будут посещать викторину).

Вам необходимо реализовать функцию создания учетной записи, чтобы вести индивидуальный учет результатов. Пользователь-администратор должен иметь возможность создавать тесты с вопросами и ответами, просто загружая текстовый файл. Вы можете выбрать любой формат для текстового файла, но приложение должно преобразовать этот файл в тест. В своей базе данных вам необходимо хранить вопросы, возможные ответы, правильные ответы и оценки для каждого пользователя. Вы можете использовать модуль MySQLdb, если выберете базу данных MySQL или модуль psycopg2 для базы данных PostgreSQL. Вы также можете использовать другие модули, но это зависит от базы данных, выбранной для приложения.

Дополнительная задача: добавьте функцию, позволяющую пользователям добавлять таймеры в викторины. Таким образом, создатели викторины (пользователи-администраторы) могут определить, сколько секунд или минут пользователь должен потратить на каждый вопрос викторины. Вы также можете добавить функцию обмена викторинами, где пользователь может делиться интересными викторинами на других платформах.

Примеры из реальной жизни:

  • Kahoot
  • myQuiz

GUI проекты

1. MP3-плеер

Сведения о проекте: невозможно воспроизвести содержимое аудиофайла без плеера. Аудиофайлы представляют собой цифровые файлы, и вы можете продемонстрировать свое мастерство, создав инструментальный MP3-плеер с использованием Python. Вам необходимо создать программное обеспечение для MP3-плеера, которое имитирует физический MP3-плеер. Используя это программное обеспечение, пользователи смогут воспроизводить файлы MP3 на настольном компьютере, ноутбуке или компьютере.

Технические детали: цель состоит в том, чтобы создать программное обеспечение для MP3, которое позволит пользователям воспроизводить MP3 и другие цифровые аудиофайлы. Вам нужно сосредоточиться на создании красивого пользовательского интерфейса для лучшего взаимодействия с пользователями. Интерфейс будет перечислять доступные файлы MP3. Пользователь также может иметь возможность перечислить другие цифровые аудиофайлы, не являющиеся MP3. Кроме того, пользователь должен иметь возможность видеть информацию о воспроизводимом файле. Вы можете включить некоторую информацию, например….

  • Имя файла
  • Его длина
  • Количество сыгранных (минуты и секунды)
  • Неигранная сумма (минуты и секунды)

Для обработки файлов MP3 и других цифровых аудиофайлов вы можете использовать библиотеки pygame , pymedia и simpleaudio в Python. Эти библиотеки позволяют работать с мультимедийными файлами с помощью нескольких строк кода. Вы также можете добавить функцию, которая позволяет пользователям создавать списки воспроизведения. Для хранения информации о созданном списке воспроизведения вы можете использовать sqlite3 модуль базы данных SQLite.

Дополнительная задача: добавьте функцию, которая позволяет пользователям повторять воспроизводимые в данный момент файлы или даже перемешивать список файлов для воспроизведения. Вы также можете включить одну функцию, которая позволяет пользователям увеличивать и уменьшать скорость воспроизведения аудиофайла.

Примеры из реальной жизни:

  • MusicBee
  • Foobar2000

2. Будильник.

Детали проекта: в повседневной жизни мы используем будильник, который дает звуковое или визуальное напоминание об определенном состоянии. Используя Python, вам необходимо создать программное обеспечение для сигнализации, которое позволяет пользователям устанавливать время для определенного условия, и когда условие выполняется, оно должно подавать звуковой сигнал. Этот инструмент будет работать с портативного или настольного устройства пользователя.

Технические детали: в этом проекте вам нужно в основном сосредоточиться на времени и звуковом сигнале будильника, потому что основная цель - активировать звуковые сигналы в определенное время дня. Добавьте функцию, которая позволяет пользователям создавать, редактировать и удалять сигналы тревоги. Кроме того, интерфейс должен отображать все активные и неактивные аварийные сигналы. Для звуковых сигналов или напоминаний вам необходимо установить тон в вашем программном обеспечении. Вы можете использовать библиотеку pygame для воспроизведения звука. Вам также необходимо сохранить информацию о сигналах тревоги в вашей базе данных, такую как… дата, время и местоположение сигнала тревоги.

Дополнительная задача: добавьте функцию, которая позволяет пользователям устанавливать повторяющиеся будильники. Используя эту функцию, пользователь сможет установить будильник, который будет звонить в определенное время в определенные дни недели, каждую неделю. Например, будильник можно установить на 11:00 каждую субботу. Вы также можете добавить в это приложение функцию повтора сигнала.

Примеры из реальной жизни:

  • Бесплатно
  • TimerForMac

Проекты Command-LIne

1. Проверка подключения к сайту

Детали проекта: когда мы посещаем URL-адрес или веб-сайт, большую часть времени мы получаем необходимую информацию в нашем браузере. Иногда веб-сайты могут быть недоступны, и в браузере может появляться сообщение об ошибке. Это могло произойти из-за проблем с сервером. Здесь вы можете продемонстрировать свои навыки и создать средство проверки подключения к сайту. Средство проверки подключения к сайту показывает статус веб-сайта, посещающего URL-адрес. Он посещает URL через регулярные промежутки времени и возвращает результаты каждого посещения. Вместо того, чтобы посещать URL-адреса вручную для проверки статуса сайта, вы можете использовать этот инструмент для мониторинга нескольких веб-сайтов с одной страницы.

Технические детали: основная цель - проверить статус веб-сайта. Для реализации этой функции вы можете использовать TCP или ICMP для вашего соединения. Программирование сокетов на Python поможет вам установить соединение. Используйте socketmodule в Python, а чтобы узнать больше о программировании сокетов, посетите ссылку Python Socket или сетевое программирование Python. Пользователь должен иметь возможность добавлять и удалять сайты из списка проверяемых сайтов. Вы можете использовать фреймворки docopt , click или argparse для добавления команд для этих функций. Помните, что пользователь должен иметь возможность запускать инструмент, останавливать его и определять интервалы. Кроме того, необходимо сохранить список файлов проверить и сделать это можно использовать sqlite3 модуль базы данных SQLite.

Дополнительная проблема: пользователю необходимо постоянно проверять командную строку, чтобы проверить статус сайта. Чтобы избежать этого, вы можете добавить функцию уведомления (например, звук, воспроизводимый в фоновом режиме), чтобы предупредить пользователя об изменении статуса сайта. Сохраняйте предыдущий статус сайта в своей базе данных, потому что это единственный способ, которым инструмент может определить, когда статус изменится.

Примеры из реальной жизни:

  • Восходящие тенденции
  • Сайт24X7

2. Инструмент переименования файлов

Детали проекта: нам нужно много времени, чтобы переименовать файлы в нашем каталоге в соответствии с определенными соглашениями. Например, File001.jpg, File002.jpg, File003.jpg, и так далее. Выполнение этой задачи вручную может быть однообразным и утомительным. Чтобы избежать этой ручной работы, вы можете создать инструмент для переименования большого количества файлов.

Технические детали: основная цель - создать инструмент для безошибочного переименования файлов за пару секунд. Чтобы переименовать целевые файлы, вы можете использовать библиотеки os , sys и shutil, доступные в Python. Пользователи должны иметь возможность передать соглашение об именах по своему выбору для переименования всех файлов в каталоге. Здесь модуль регулярного выражения поможет сопоставить требуемые шаблоны именования, если вы знаете, как работает регулярное выражение. Если пользователь передает соглашение об именах, например myfiles, как часть команд, инструмент должен переименовать файлы, например myfiles123, где 123 - это число.

Дополнительная задача: реализовать функцию, позволяющую пользователям выберите для переименования только определенное количество файлов, а не все файлы. Для этой функции инструмент будет сортировать файлы в алфавитном порядке, по времени создания файла или по размеру файла, в зависимости от требований пользователя.

Примеры из реальной жизни:

  • Переименовать
  • Ren Command