13 Mar 2025, 07:00 UTC102 views1 reactionsread 10 August 2026 RestrictedPython позволяет безопасно выполнять недоверенный код, ограничивая доступ к системным функциям и предотвращая потенциальные атаки.
from RestrictedPython import compile_restricted
from RestrictedPython import safe_globals
import math
# Подготовка безопасных глобальных переменных
def get_safe_globals():
safe_env = safe_globals.copy()
# Добавляем безопасные математические функции
safe_env.update({…
👍1
11 Mar 2025, 07:00 UTC56 views1 reactionsread 10 August 2026 Apache Avro — бинарный формат сериализации данных со схемой, обеспечивающий компактность и высокую производительность.
import avro.schema
from avro.datafile import DataFileReader, DataFileWriter
from avro.io import DatumReader, DatumWriter
import json
import io
# Определяем схему Avro
schema_json = '''
{
"namespace": "example",
"type": "record",
"name": "User",
"fields": [
{"name": "id", "typ…
👍1
10 Mar 2025, 08:00 UTC38 views1 reactionsread 10 August 2026 Uplink позволяет объявлять API-клиенты в декларативном стиле, преобразуя Python-классы и методы в HTTP-запросы. Это значительно упрощает работу с REST API.
import uplink
from uplink import Query, Path, Body, json
import requests
from typing import List, Dict, Any, Optional
# Определение модели данных для типизации
class Post:
def __init__(self, id: int, title: str, body: str, userId: int):
self.id = id
…
👍1
9 Mar 2025, 07:00 UTC29 views1 reactionsread 10 August 2026 PyO3 позволяет интегрировать высокопроизводительный код на Rust в ваши Python-приложения, достигая огромного прироста производительности для критичных участков.
# Пример использования Rust-функции в Python
import time
import numpy as np
from rust_module import fibonacci_rust # Подключаем Rust-модуль
# Реализация на чистом Python для сравнения
def fibonacci_python(n: int) -> int:
if n <= 1:
return n
r…
🔥1
7 Mar 2025, 07:00 UTC28 views1 reactionsread 10 August 2026 Memcached — легковесное, высокопроизводительное решение для кэширования данных в оперативной памяти, которое может значительно ускорить ваши приложения.import pymemcache
import time
import json
from functools import wraps
# Настройка клиента Memcached
client = pymemcache.client.base.Client(('localhost', 11211))
# Сериализатор для сложных типов данных
class JSONSerde:
def serialize(self, key, value):
if is…
👍1
6 Mar 2025, 07:00 UTC25 viewsread 10 August 2026 Pytest делает тестирование Python-кода удобным и эффективным. Рассмотрим продвинутые техники для сокращения дублирования и повышения читаемости тестов.
import pytest
from datetime import datetime, timedelta
# Функция, которую будем тестировать
def is_valid_date_range(start_date, end_date, max_days=30):
"""Проверяет, что диапазон дат не превышает max_days и end_date > start_date"""
if not isinstance(start_dat…
5 Mar 2025, 07:01 UTC34 viewsread 10 August 2026 Библиотека pyjq позволяет использовать мощный язык запросов jq прямо в Python для продвинутой фильтрации и трансформации JSON-данных.
import pyjq
import json
import requests
# Получаем данные из API
response = requests.get('https://jsonplaceholder.typicode.com/users')
data = response.json()
# Базовый запрос: извлечь имена всех пользователей
names = pyjq.all('.[].name', data)
print("Имена:", names[:3], "...")
# Сложн…
4 Mar 2025, 07:00 UTC26 viewsread 10 August 2026 Django ORM отлично работает в экосистеме Django, но иногда SQLAlchemy предлагает больше гибкости. Рассмотрим плюсы и минусы миграции, а также базовый пример перехода.
# Django ORM модель
from django.db import models
class User(models.Model):
username = models.CharField(max_length=100, unique=True)
email = models.EmailField(unique=True)
is_active = models.BooleanField(default=True)
created_at = models.…
3 Mar 2025, 07:00 UTC26 viewsread 10 August 2026 Beautiful Soup 4 позволяет эффективно парсить и извлекать данные из HTML с помощью CSS-селекторов, что значительно упрощает веб-скрапинг.
import requests
from bs4 import BeautifulSoup
# Получаем HTML страницы
url = "https://python.org/events/"
response = requests.get(url)
html = response.text
# Создаем объект BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
# Использование CSS-селекторов для извлечения данных…
2 Mar 2025, 14:01 UTC23 views1 reactionsread 10 August 2026 Найдите проблему в коде для многопоточной обработки больших файлов:import threading
from queue import Queue
import time
class ChunkProcessor:
def __init__(self, num_workers=4):
self.queue = Queue(maxsize=10)
self.results = []
self.workers = []
self.num_workers = num_workers
def process_chunk(self, chunk):
# Имитация обработки данных
time.sleep(0.1)
retu…
🔥1
2 Mar 2025, 07:10 UTC30 views1 reactionsread 10 August 2026 Pydantic v2 позволяет проверять и преобразовывать данные с помощью аннотаций типов Python, обеспечивая производительность и типобезопасность.
from pydantic import BaseModel, Field, EmailStr, ValidationError, field_validator
from typing import List, Optional
from datetime import datetime
class User(BaseModel):
id: int
name: str = Field(..., min_length=2, max_length=50)
email: EmailStr
tags: List[str] =…
👍1
1 Mar 2025, 08:43 UTC23 views1 reactionsread 10 August 2026 Структурное сопоставление образцов (pattern matching) позволяет элегантно обрабатывать сложные структуры данных в Python с помощью оператора match.
Синтаксис базового сопоставления:
match выражение:
case образец_1:
# действия, если выражение соответствует образцу_1
case образец_2:
# действия, если выражение соответствует образцу_2
case _:
# действия по умолчанию (как else)
Сопоста…
👍1
Showing the 12 most recent of 20 posts we hold for @the_daily_python. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.