Создание пяти классных проектов Python с полными кодами, которые разработчики могут создать в течение часа и добавить в свое резюме!

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

С помощью Python и эквивалентных ему библиотек мы можем достичь огромного количества достижений, создавая различные типы уникальных проектов. Гибкость Python позволяет вам исследовать любые варианты, которые вы хотите, а огромное количество замечательных ресурсов помогут вам с большей легкостью выполнить желаемую задачу. Следовательно, это фантастическая идея начать работу над многочисленными проектами Python и добавить их в свое резюме.

Я стараюсь охватить большинство полезных тем для начинающих энтузиастов Data Science и программистов. Если вы заинтересованы в том, чтобы научиться овладевать предметом Data Science в течение 12 месяцев, вам следует ознакомиться со следующим руководством, которое предлагает 12 шагов, которые вы должны выполнить для достижения этой цели.



В этой статье мы рассмотрим пять разных удивительных проектов, которые вы можете создать с помощью Python и его библиотек. Вы можете эффективно вычислить все проекты, упомянутые в соответствующих разделах, в течение часа. Для начала мы рассмотрим четыре более простых проекта Python и одну чуть более сложную задачу Python с привлечением искусственного интеллекта. Приступим к строительству наших объектов!

1. Напоминания:

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

В этом первом проекте мы рассмотрим, как можно своевременно настроить напоминания, чтобы вы получали соответствующее уведомление. Для этой задачи мы будем использовать две важные библиотеки для выполнения проекта. Модуль времени, импортированный в Python, и библиотека plyer, которую можно установить с помощью простой команды pip, могут использоваться для соответствующего указания запроса уведомления. Приведенный ниже блок кода является отличной отправной точкой для достижения желаемых результатов для этого проекта.

import time
from plyer import notification
if __name__ == "__main__":
    while True:
        notification.notify(
            title = "ALERT!!!",
            message = "Take a break! It has been an hour!",
            timeout = 10
        )
        time.sleep(3600)

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



2. Калькулятор с Python:

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

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

# Import Tkinter
from tkinter import *
# globally declare the expression variable
expression = ""
# Function to update expression in the text entry box
def press(num):
 global expression
 expression = expression + str(num)
 equation.set(expression)
# Function to evaluate the final expression
def equalpress():
 try:
  global expression
  total = str(eval(expression))
equation.set(total)
  expression = ""
except:
equation.set(" error ")
  expression = ""

В следующем примере блока кода мы рассмотрим построение базового графического интерфейса пользователя, в котором вы можете отображать многочисленные кнопки и создавать общий проект. В этом примере блока кода я покажу только некоторые из основных элементов для создания некоторых основных функций. Числа в диапазоне от одного до трех могут быть созданы следующим образом, и мы можем протестировать операцию сложения после нажатия кнопки равенства. Щелкните элементы кнопки, чтобы отобразить числа и выполнить желаемое действие соответствующим образом. После выполнения вычисления вы можете нажать кнопку «равно», чтобы отобразить окончательный результат.

# Driver code
if __name__ == "__main__":
 # create a GUI window
 gui = Tk()
# set the background colour of GUI window
 gui.configure(background="light green")
# set the title of GUI window
 gui.title("Simple Calculator")
# set the configuration of GUI window
 gui.geometry("270x150")
# we create an instance of this class
 equation = StringVar()
# create the text entry box for
 expression_field = Entry(gui, textvariable=equation)
# grid method is used for placing
 expression_field.grid(columnspan=4, ipadx=70)
# create a Buttons and place at a particular.
 button1 = Button(gui, text=' 1 ', fg='black', bg='red',
     command=lambda: press(1), height=1, width=7)
 button1.grid(row=2, column=0)
button2 = Button(gui, text=' 2 ', fg='black', bg='red',
     command=lambda: press(2), height=1, width=7)
 button2.grid(row=2, column=1)
button3 = Button(gui, text=' 3 ', fg='black', bg='red',
     command=lambda: press(3), height=1, width=7)
 button3.grid(row=2, column=2)
plus = Button(gui, text=' + ', fg='black', bg='red',
    command=lambda: press("+"), height=1, width=7)
 plus.grid(row=2, column=3)
equal = Button(gui, text=' = ', fg='black', bg='red',
    command=equalpress, height=1, width=7)
 equal.grid(row=5, column=2)
clear = Button(gui, text='Clear', fg='black', bg='red',
    command=clear, height=1, width=7)
 clear.grid(row=5, column='1')
Decimal= Button(gui, text='.', fg='black', bg='red',
     command=lambda: press('.'), height=1, width=7)
 Decimal.grid(row=6, column=0)
 # start the GUI
 gui.mainloop()

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



3. Создание собственной аудиокниги за кадром:

Проект озвучивания аудиокниги, как следует из названия, будет включать некоторые текстовые и голосовые требования. В этом проекте Python мы преобразуем информацию в текст и получим голосовую запись, которую вы можете автоматически прослушать. Этот проект будет состоять из двух основных этапов.

Первый этап - это преобразование текстовых данных в аудиозаписи, а второй этап - преобразование электронных книг в читаемый формат. Для первой задачи мы будем использовать преобразование текста в речь Google с использованием Python, а на втором этапе мы будем использовать методы оптического распознавания символов (OCR) для достижения наилучших возможных результатов.

Чтобы начать с первого этапа проекта, мы можем начать изучение модуля Google Text-To-Speech (GTTS) для решения задачи преобразования текстовой информации в аудиофайл. Как только мы получим воспроизводимую версию этого аудиофайла, мы можем либо сохранить, либо удалить этот конкретный файл. Код для выполнения следующего действия выглядит следующим образом.

from gtts import gTTS
import os
text = "Hello! My name is Bharath."
tts = gTTS(text)
tts.save("hi.mp3")
os.system("hi.mp3")

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



На втором этапе этого проекта мы сосредоточимся на чтении электронных книг, которые обычно находятся в формате PDF (или текстовых файлов), в текстовое описание, чтобы оно было доступно для чтения модулю GTTS. Чтение информации в PDF-файлах или изображениях потребует использования технологий оптического распознавания символов (OCR). Мы будем использовать модуль Pytesseract для этих преобразований OCR.

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

#Importing the libraries
import cv2
import pytesseract
from PIL import Image
from gtts import gTTS
from playsound import playsound
# Specifying the path
pytesseract.pytesseract.tesseract_cmd = r'C:/Program Files/Tesseract-OCR/tesseract.exe'

# Reading the image 
image = cv2.imread('1.png')

# Extraction of text from image
text = pytesseract.image_to_string(image)

# Printing the text
print(text)
# Create the voice_text variable to store the data.

voice_text = ""

# Pre-processing the data

for i in text.split():
    voice_text += i + ' '
    
voice_text = voice_text[:-1]
voice_text

tts = gTTS(voice_text)
tts.save("test.mp3")
playsound("test.mp3")

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



4. Игра Python:

В этом разделе мы обсудим пару игровых проектов, которые вы можете построить с помощью Python. С помощью Python и множества модулей, которые он предлагает пользователям, вы можете создавать широкий спектр игр. С помощью Pygame вы можете создавать игры, такие как палач, крестики-нолики, камень, ножницы, бумага, и многое другое, в том числе более графически ориентированные игры, такие как flappy bird или копии Марио.

В этой первой части статьи мы поговорим больше о том, как вы можете использовать различные библиотеки, доступные в Python, для создания ваших собственных уникальных игр. С помощью предварительно созданных библиотечных модулей, таких как пакет turtle и случайная библиотека в Python, вы можете создать уникальный проект с легким графическим дополнением к нему.

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

def treat():
    speed(0)
    penup()
    goto(-140, 140)

    for step in range(15):
        write(step, align='center')
        right(90)
        for num in range(8):
            penup()
            forward(10)
            pendown()
            forward(10)
        penup()
        backward(160)
        left(90)
        forward(20)
        
    turtle1 = Turtle()
    turtle1.color('red')
    turtle1.shape('turtle')

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



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



5. Анализ настроений:

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

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

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

В проекте, который мы построим в этой статье, будут использоваться некоторые элементы инструментария обработки естественного языка и встроенный алгоритм Наивного Байеса. Мы пытаемся использовать набор данных корпуса фильмов и провести некоторый анализ настроений. Полный блок кода, показанный ниже, взят по следующей ссылке. Ознакомьтесь с дополнительной информацией и подробностями по следующей теме.

# Load and prepare the dataset
import nltk
from nltk.corpus import movie_reviews
import random
documents = [(list(movie_reviews.words(fileid)), category)
              for category in movie_reviews.categories()
              for fileid in movie_reviews.fileids(category)]
random.shuffle(documents)
# Define the feature extractor
all_words = nltk.FreqDist(w.lower() for w in movie_reviews.words())
word_features = list(all_words)[:2000]
def document_features(document):
    document_words = set(document)
    features = {}
    for word in word_features:
        features['contains({})'.format(word)] = (word in document_words)
    return features
# Train Naive Bayes classifier
featuresets = [(document_features(d), c) for (d,c) in documents]
train_set, test_set = featuresets[100:], featuresets[:100]
classifier = nltk.NaiveBayesClassifier.train(train_set)
# Test the classifier
print(nltk.classify.accuracy(classifier, test_set))

Если вы заинтересованы в том, чтобы подойти к следующей постановке проблемы с более глубоким подходом к обучению, вам следует подумать о том, чтобы начать поиск решения с использованием LSTM. Затем вы можете подойти к следующей проблеме с более сложным подходом от последовательности к моделям последовательности с вниманием или с использованием одномерных сверточных слоев и т. Д. В качестве отправной точки я бы рекомендовал проверить следующую ссылку, чтобы получить начал с подхода глубокого обучения для проекта анализа настроений.

Если вам интересно узнать больше об обработке естественного языка и других подобных задачах, которые вы можете выполнять с помощью НЛП и глубокого обучения, не стесняйтесь проверить один из моих предыдущих проектов, который посвящен теме предсказания следующего слова. В этом проекте я углубляюсь в то, как вы можете построить модель предсказания следующего слова с помощью глубокого обучения и проводить прогностический поиск с помощью LSTM.



Заключение:

«Удовольствие от написания кода на Python должно заключаться в том, чтобы видеть короткие, лаконичные, читаемые классы, которые выражают множество действий в небольшом объеме ясного кода, а не в пачках тривиального кода, который до смерти утомляет читателя». - Гвидо ван Россум

Простота Python позволяет сразу пяти разработчикам создавать исключительные проекты. С помощью разнообразных и феноменальных инструментов, доступных в Python, энтузиасты могут создавать практически любой тип проекта, который они хотят изучить. Вы можете создать любой проект AI, Data Science, компьютерного зрения или естественного языка, который вы хотите и хотите, благодаря универсальности этого языка программирования.

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

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

Ознакомьтесь с некоторыми из моих других статей, которые могут вам понравиться!











Спасибо всем, что дожили до конца. Надеюсь, всем вам понравилась эта статья. Желаю всем прекрасного дня!