Откройте для себя 5 неожиданных способов использования Python

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

В этой статье мы рассмотрим 10 удивительных приложений языка Python, о которых вы, возможно, не знали.

Создание веб-приложений с помощью Django

Django — это высокоуровневая веб-инфраструктура Python, которая позволяет разработчикам быстро и легко создавать сложные веб-сайты на основе баз данных. Он следует архитектурному шаблону Model-View-Controller (MVC) и предназначен для быстрой разработки и чистого прагматичного дизайна.

Настройка проекта Django

Чтобы приступить к созданию веб-приложения с помощью Django, сначала необходимо настроить проект Django. Это можно сделать с помощью следующей команды:

django-admin startproject myproject

Это создаст новый каталог с именем myproject с базовой структурой проекта Django.

Создание приложений Django

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

Чтобы создать новое приложение, вы можете использовать следующую команду:

python manage.py startapp myapp

Это создаст новый каталог с именем myapp в каталоге вашего проекта.

Определение моделей

В Django модели данных веб-приложения определяются с помощью классов Python. Эти классы наследуются от класса Model Django и определяют поля и поведение объектов, которые будут храниться в базе данных.

Например, следующий код определяет простую модель для хранения сообщений в блоге:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

Создание представлений

В Django представления отвечают за обработку HTTP-запросов и возврат HTTP-ответов. Каждое представление определяется как функция или метод Python и связано с определенным шаблоном URL.

Например, следующий код определяет простое представление, которое возвращает список всех сообщений блога:

from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.all()
    return render(request, 'blog/post_list.html', {'posts': posts})

Написание шаблонов

В Django шаблоны используются для определения структуры и макета HTML-страниц. Они позволяют разработчикам отделить логику представления от логики приложения и повторно использовать код на нескольких страницах.

Например, следующий код определяет простой шаблон для отображения списка сообщений блога:

{% for post in posts %}
    <h2>{{ post.title }}</h2>
    <p>{{ post.content }}</p>
{% endfor %}

URL-адреса маршрутизации

В Django маршрутизация URL-адресов обрабатывается файлом urls.py проекта и файлом urls.py приложения. Файл urls.py проекта определяет шаблоны URL-адресов верхнего уровня для проекта, а файл urls.py приложения определяет шаблоны URL-адресов для приложения.

Например, следующий код определяет простой шаблон URL-адреса, который сопоставляет URL-адрес /posts/ с представлением post_list:

from django.urls import path
from .views import post_list

urlpatterns = [
    path('posts/', post_list, name='post_list'),
]

Запуск сервера разработки

Чтобы протестировать веб-приложение Django, вы можете запустить сервер разработки с помощью следующей команды:

python manage.py runserver

Это запустит локальный сервер разработки, который по умолчанию прослушивает порт 8000. Затем вы можете получить доступ к своему веб-приложению, перейдя к https://localhost:8000/ в веб-браузере.

Автоматизация задач с помощью Python

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

Автоматизация работы с файлами

Python позволяет легко автоматизировать задачи манипулирования файлами, такие как переименование, копирование, перемещение и удаление файлов. Модули os и shutil предоставляют функции для работы с файлами и каталогами.

Например, следующий код переименовывает все файлы с расширением .txt в каталоге, чтобы они имели расширение .md:

import os

for filename in os.listdir('.'):
    if filename.endswith('.txt'):
        os.rename(filename, filename[:-3] + 'md')

Автоматизация обработки данных

Python хорошо подходит для задач обработки данных, таких как очистка и преобразование данных, расчет статистики и создание отчетов. Библиотека pandas предоставляет мощный набор инструментов для работы с табличными данными.

Например, следующий код считывает файл CSV в кадр данных pandas, очищает данные и вычисляет среднее значение столбца:

import pandas as pd

df = pd.read_csv('data.csv')
df = df.dropna()  # Remove rows with missing values
avg = df['value'].mean()
print(f'The average value is {avg:.2f}')

Автоматизация парсинга веб-страниц

Python — популярный выбор для веб-скрапинга, который включает в себя извлечение данных с веб-сайтов. Библиотеку requests можно использовать для извлечения веб-страниц, а библиотеку BeautifulSoup можно использовать для анализа HTML и извлечения данных.

Например, следующий код извлекает заголовки последних новостей с веб-сайта BBC:

import requests
from bs4 import BeautifulSoup

url = 'https://www.bbc.com/news'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
headlines = soup.find_all('h3', class_='gs-c-promo-heading__title')
for headline in headlines:
    print(headline.text)

Автоматизация отправки электронной почты

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

Например, следующий код отправляет электронное письмо с вложением:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

msg = MIMEMultipart()
msg['Subject'] = 'Weekly Report'
msg['From'] = '[email protected]'
msg['To'] = '[email protected]'

text = MIMEText('Please find attached the weekly report.')
msg.attach(text)

with open('report.pdf', 'rb') as f:
    attachment = MIMEApplication(f.read(), _subtype='pdf')
    attachment.add_header('Content-Disposition', 'attachment', filename='report.pdf')
    msg.attach(attachment)

with smtplib.SMTP('smtp.example.com', 587) as smtp:
    smtp.starttls()
    smtp.login('username', 'password')
    smtp.send_message(msg)

Разработка игр с Pygame

Pygame — популярная библиотека Python, используемая для разработки 2D-игр. Он построен на основе библиотеки Simple DirectMedia Layer (SDL), которая обеспечивает низкоуровневый доступ к аудио, клавиатуре, мыши, джойстику и графическому оборудованию.

Установка Pygame

Прежде чем мы сможем начать создавать игры с помощью Pygame, нам нужно его установить. Pygame можно установить с помощью pip, менеджера пакетов Python. Откройте терминал или командную строку и введите следующую команду:

pip install pygame

Создание простой игры

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

import pygame

Далее нам нужно инициализировать Pygame и создать окно игры. Добавьте следующий код в ваш файл:

pygame.init()

# Set the width and height of the screen (in pixels)
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))

pygame.display.set_caption("My Game")

# Set the background color
bg_color = (255, 255, 255)

Этот код инициализирует Pygame, создает игровое окно шириной 800 пикселей и высотой 600 пикселей, устанавливает заголовок окна «Моя игра» и устанавливает белый цвет фона.

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

# Game loop
running = True
while running:
    # Handle events
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # Fill the screen with the background color
    screen.fill(bg_color)

    # Draw the player character
    player_rect = pygame.Rect(50, 50, 50, 50)
    pygame.draw.rect(screen, (255, 0, 0), player_rect)

    # Update the screen
    pygame.display.flip()

# Clean up
pygame.quit()

Этот код определяет игровой цикл, который выполняется непрерывно, пока игрок не закроет игровое окно. Внутри цикла мы обрабатываем события с помощью функции pygame.event.get(). Если обнаруживается событие QUIT (то есть игрок закрывает окно), мы устанавливаем переменную running в False, что приведет к выходу из игрового цикла.

Мы также заполняем экран фоновым цветом с помощью функции screen.fill() и рисуем красный прямоугольник (представляющий персонажа игрока) с помощью функции pygame.draw.rect().

Наконец, мы обновляем экран с помощью функции pygame.display.flip() и очищаем Pygame с помощью функции pygame.quit().

Добавление спрайтов

Теперь давайте добавим в нашу игру несколько спрайтов (то есть изображений). Мы будем использовать лист спрайтов, содержащий изображения персонажа игрока, идущего в разных направлениях. Загрузите лист спрайтов и сохраните его в том же каталоге, что и ваш файл Python: https://www.pygame.org/docs/tut/Chimp.png.

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

# Load the sprite sheet
sprite_sheet = pygame.image.load("Chimp.png").convert_alpha()

# Define the player sprite
class Player(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = sprite_sheet.subsurface((0, 0, 120, 131))
        self.rect = self.image.get_rect()
        self.rect.x = 50
        self.rect.y = 50

# Create the player sprite
player = Player()

Этот код загружает лист спрайтов с помощью функции pygame.image.load() и создает класс Player, наследуемый от класса pygame.sprite.Sprite. Мы определяем метод __init__(), который устанавливает изображение игрока в первый кадр листа спрайтов (sprite_sheet.subsurface((0, 0, 120, 131))) и устанавливает его позицию в (50, 50).

Мы также создаем объект спрайта игрока (player = Player()), который мы можем добавить в группу спрайтов и перемещать по экрану.

Научные вычисления с NumPy

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

Установка NumPy

Прежде чем мы сможем начать использовать NumPy, нам нужно его установить. NumPy можно установить с помощью pip, который является установщиком пакетов для Python. Откройте окно терминала и введите следующую команду:

pip install numpy

Это загрузит и установит NumPy в вашей системе.

Создание массивов NumPy

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

Вот пример создания массива NumPy:

import numpy as np

a = np.array([1, 2, 3, 4])
print(a)

Выход:

[1 2 3 4]

В приведенном выше примере мы создали одномерный массив NumPy со значениями 1, 2, 3 и 4.

Анализ данных с пандами

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

Pandas — это быстрая, мощная и гибкая библиотека для анализа и обработки данных для Python. Он предоставляет простые в использовании структуры данных и инструменты анализа данных для обработки табличных данных, временных рядов и многого другого.

Начало работы с пандами

Прежде чем мы сможем начать использовать Pandas, нам нужно его установить. Вы можете установить Pandas с помощью pip, самого популярного менеджера пакетов для Python. Вот как установить Pandas с помощью pip:

pip install pandas

После установки Pandas мы можем начать использовать его в нашем коде Python. Первое, что нам нужно сделать, это импортировать библиотеку Pandas:

import pandas as pd

Чтение данных с пандами

Pandas предоставляет несколько функций для чтения данных из различных источников, таких как файлы CSV, электронные таблицы Excel, базы данных SQL и т. д. Одной из наиболее часто используемых функций является функция read_csv(), которая считывает данные из файла CSV и создает объект DataFrame.

import pandas as pd

# read data from a CSV file
data = pd.read_csv('data.csv')

# print the first five rows of the data
print(data.head())

Очистка и преобразование данных

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

Одной из наиболее распространенных задач при очистке и преобразовании данных является удаление пропущенных значений. Pandas предоставляет функцию dropna(), которая удаляет все строки или столбцы с отсутствующими значениями.

import pandas as pd

# read data from a CSV file
data = pd.read_csv('data.csv')

# remove rows with missing values
clean_data = data.dropna()

# print the first five rows of the cleaned data
print(clean_data.head())

Другой распространенной задачей является преобразование типов данных. Pandas предоставляет функцию astype(), которая преобразует столбец в указанный тип данных.

import pandas as pd

# read data from a CSV file
data = pd.read_csv('data.csv')

# convert a column to a float data type
data['column_name'] = data['column_name'].astype(float)

# print the data types of each column
print(data.dtypes)

Основные операции анализа данных

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

Pandas предоставляет несколько функций для расчета основных статистических данных, таких как среднее значение, медиана и стандартное отклонение. Мы можем использовать функции mean(), median() и std() для вычисления этой статистики для определенного столбца.

import pandas as pd

# read data from a CSV file
data = pd.read_csv('data.csv')

# calculate the mean, median, and standard deviation of a column
mean = data['column_name'].mean()
median = data['column_name'].median()
std = data['column_name'].std()

# print the calculated statistics
print('Mean:', mean)
print('Median:', median)
print('Standard Deviation:', std)

Заключение

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

Дополнительные материалы на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.