Ghostly Python
9.02K subscribers
535 photos
24 videos
599 links
Погружаемся в мир Python: задачи, фишки, библиотеки и террабайты полезного материала.

Сотрудничество: @heywan_n1

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
👩‍💻 The Ultimate Python Handbook

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

📌 Что внутри?

🟢 Основы Python: установка, переменные, типы данных, операторы.
🟢 Строки, списки, словари, множества и их возможности.
🟢 Условные выражения и циклы.
🟢 Функции и рекурсия.
🟢 Работа с файлами: чтение, запись, обработка.
🟢 Объектно-ориентированное программирование и наследование.
🟢 Продвинутые темы: виртуальные окружения, lambda-функции, обработка исключений, и многое другое.
🟢 Практические задачи и мини-проекты, включая создание чат-бота и голосового помощника.

⬇️ Скачать PDF из архива

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72
Media is too big
VIEW IN TELEGRAM
👩‍💻 Базовое приложение на FastAPI

В этом уроке, автор рассказывает и показывает как начать работать с FastAPI, как выстроить проект, настроить работу с базой данных и миграции.


📱 Ссылка на источник

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
⚙️ Библиотека: Schematics

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

Подходит для разработчиков, которые хотят легко описывать схемы данных и автоматически валидировать и преобразовывать их перед использованием.

⚙️ Пример использования:

from schematics.models import Model
from schematics.types import StringType, IntType, EmailType
from schematics.exceptions import DataError

# Определение модели данных
class User(Model):
name = StringType(required=True, max_length=10)
age = IntType(required=True, min_value=18, max_value=99)
email = EmailType(required=True)

# Проверка корректных данных
user_data = {'name': 'Alice', 'age': 24, 'email': 'alice@example.com'}
try:
user = User(user_data)
user.validate()
print("Данные корректны:", user.to_native())
except DataError as e:
print("Ошибки в данных:", e)

# Попытка валидации некорректных данных
invalid_data = {'name': '', 'age': 'twenty', 'email': 'bob@example'}
try:
invalid_user = User(invalid_data)
invalid_user.validate()
except DataError as e:
print("Ошибки в данных:", e)


✔️ Установка

pip install schematics


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
🏭 Применение ML для оптимизации работы питательных электронасосов в ТЭЦ металлургического комбината

Как машинное обучение помогло оптимизировать работу насосов на ТЭЦ и сэкономить заводу 19,6 млн рублей.

Разбираем алгоритмы, параметры оборудования и почему даже одинаковые агрегаты работают по-разному.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥21
Грустная правда 🫠

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8😭4
👩‍💻 Аннотация overload - перегрузки в Python

Разбираем @overload из модуля typing: как аннотировать функции с разными сигнатурами, улучшить автодополнение в IDE и сделать код понятнее.

📱 Ссылка на источник

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
📱 Как элегантно подавлять ошибки в Python — contextlib.suppress

Обычно, когда нужно игнорировать определённые исключения, мы можем встретить такой код:

try:
os.remove("file.txt") # Удаляем файл, если он существует
except FileNotFoundError:
pass # Игнорируем ошибку, если файла нет


Но Python предлагает более лаконичный способ — contextlib.suppress:

from contextlib import suppress
import os

with suppress(FileNotFoundError):
os.remove("file.txt") # Ошибка просто не возникнет


📌 Преимущества:

🟢 Улучшает читаемость кода.
🟢 Подходит для случаев, когда ошибка не критична.
🟢 Убирает лишние try-except блоки.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4❤‍🔥1
🔜 Как увеличить скорость python-скриптов: C-расширения и Python/C API

Разбираем, как ускорить Python с C-расширениями. Пишем свою библиотеку на C, подключаем через Python.h, тестируем на алгоритмах и сравниваем с чистым Python.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
📄 Мониторинг использования памяти в Python

Сегодня напишем простой Python-скрипт для мониторинга использования оперативной памяти. Если использование RAM превышает заданный порог, скрипт отправит уведомление. Это поможет предотвратить перегрузку системы.

⚙️ Исходный код

import psutil
import smtplib
from email.mime.text import MIMEText

# Порог использования памяти (в %)
THRESHOLD = 80
# Email для уведомления
EMAIL = "your_email@example.com"
SMTP_SERVER = "smtp.example.com"
SMTP_PORT = 587
SMTP_LOGIN = "your_email@example.com"
SMTP_PASSWORD = "your_password"

# Получаем текущее использование RAM
memory_usage = psutil.virtual_memory().percent

if memory_usage > THRESHOLD:
msg = MIMEText(f"Внимание! Использование памяти достигло {memory_usage}%")
msg["Subject"] = "Memory Alert"
msg["From"] = EMAIL
msg["To"] = EMAIL

with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server:
server.starttls()
server.login(SMTP_LOGIN, SMTP_PASSWORD)
server.sendmail(EMAIL, EMAIL, msg.as_string())

print(f"Текущее использование памяти: {memory_usage}%")


💬 Как это работает?

1. Используем psutil для получения текущего уровня использования оперативной памяти.
2. Если значение превышает 80%, отправляем уведомление по email.
3. SMTP-сервер используется для отправки писем, можно заменить на другой почтовый сервис.

Такой скрипт полезен для мониторинга состояния серверов и предупреждения нехватки памяти.


🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
👩‍💻 Зачем учить Python в 2025: Плюсы и минусы языка и перспективы карьеры в IT

Стоит ли учить Python в 2025 году? Разбираем плюсы и минусы языка, его востребованность в IT и карьерные перспективы. А ещё немного юмора от Егора Векслера.

📱 Ссылка на источник

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15
📱 Улучшаем производительность Python-кода с functools.lru_cache

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

def fib(n):
if n <= 1:
return n
return fib(n - 1) + fib(n - 2)


🗣️ При больших значениях n выполнение занимает очень много времени из-за многократных вызовов одной и той же функции.

➡️ Но есть простой способ оптимизации — functools.lru_cache:

from functools import lru_cache

@lru_cache(maxsize=None)
def fib(n):
if n <= 1:
return n
return fib(n - 1) + fib(n - 2)


📌 Как это работает?

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

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
📦 Boxplot, он же ящик с усами

Разбираем, что такое boxplot (он же «ящик с усами») и почему он так полезен. Узнаем, как быстро оценивать медиану, разброс данных и находить выбросы, не вглядываясь в цифры.

🖥 Перейти к статье

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👩‍💻 Новости мира Python за январь 2025

Собрали главные новости Python за январь 2025: новый безопасный интерфейс для отладки CPython, итоги опроса Facebook о типах, изменения в PEP 8 и свежий баттл Django vs FastAPI.

📱 Ссылка на источник

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
📱 22 полезных примера кода на Python

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

Некоторые из примеров вы могли уже видеть ранее, а другие будут новыми и интересными для вас. Все эти примеры легко запоминаются.

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

➡️ Ссылка на статью

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥3👎2
⚙️ Библиотека: Pypika

Pypika — это мощный конструктор SQL-запросов для Python, который позволяет создавать сложные запросы программно без написания чистого SQL.

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

⚙️ Пример использования:

from pypika import Query, Table

# Определяем таблицу
users = Table("users")

# Создаем SQL-запрос
query = Query.from_(users).select(users.id, users.name).where(users.age > 18)

print(query) # SELECT "id","name" FROM "users" WHERE "age">18


Pypika делает работу с SQL более удобной и безопасной, особенно для сложных запросов в ORM или API.

✔️ Установка

pip install pypika


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🦄1
📱 Поднимаем потоковый сервис Kafka на Python

В этой статье мы познакомимся с Apache Kafka. Мы напишем демо пример Kafka Consumer'а на Python и запустим его в облачном сервисе Confluent Cloud.

➡️ Ссылка на статью

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Не палимся

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25🤣4🌚32👍2
📱 Фишка: itertools.groupby — группировка последовательностей в Python

Вместо сложных циклов и временных словарей для группировки элементов можно использовать itertools.groupby(). Этот инструмент позволяет эффективно группировать отсортированные данные по ключу.

from itertools import groupby

data = [("яблоко", "фрукт"), ("морковь", "овощ"), ("банан", "фрукт"), ("капуста", "овощ")]

# Сортируем перед группировкой
data.sort(key=lambda x: x[1])

# Группируем по категории
for category, items in groupby(data, key=lambda x: x[1]):
print(category, list(items))


📌 Как это работает?

🟢 Данные сначала сортируются по категории (иначе groupby не сработает правильно).
🟢 groupby автоматически объединяет элементы, у которых одинаковый ключ.
🟢 Итог: "фрукты" и "овощи" собраны в отдельные группы без лишнего кода.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
👩‍💻 Разбор модуля argparse в Python

Разбираем модуль argparse в Python: как парсить аргументы, обрабатывать значения и делать удобный CLI. Всё просто, понятно и без лишних сложностей.

📱 Ссылка на источник

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7