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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
🎙 Автосубтитры с помощью autosub

Всё очень просто, если использовать библиотеку autosub. Это удобный инструмент для автоматической генерации субтитров из аудио или видеофайлов.

✔️ Установка библиотеки

pip install git+https://github.com/agermanidis/autosub.git


⚙️ Пример кода

autosub your_video.mp4


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

1. autosub использует SpeechRecognition и Google API для распознавания речи.
2. Автоматически извлекает аудиодорожку и переводит её в текст.
3. Создаёт .srt файл с временными метками для субтитров.

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥32👍2❤‍🔥1
Вот это уже обидно

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣341
🖼️ Библиотека: validators

validators — лёгкая и удобная библиотека для валидации данных в Python. Позволяет быстро проверять корректность email-адресов, URL, IP-адресов и других данных без написания регулярных выражений вручную.

ℹ️ Основные возможности:

🟢 Проверка валидности email, URL, IP, UUID, JSON и др.
🟢 Простое использование без сложных настроек.
🟢 Легко интегрируется в любые проекты: API, формы, парсеры.
🟢 Возвращает True или ValidationFailure для удобной проверки.

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

import validators  

url = "https://python.org"

if validators.url(url):
print("Корректный URL")
else:
print("Некорректный URL")


✔️ Установка:

pip install validators


➡️ Ссылка на документацию

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
21👍4
🧠 Мифы о байесовском А/Б тестировании

Разбираемся, чем байесовский А/Б тест отличается от частотного, в чем подвох p-value, как учитывать априорную инфу и останавливать тесты раньше времени без магии и боли.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝3👍1
📱 Фишка: contextlib — удобное создание контекстных менеджеров

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

from contextlib import contextmanager  

@contextmanager
def open_file(path):
f = open(path, 'r')
try:
yield f
finally:
f.close()

with open_file("example.txt") as f:
print(f.read())


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

🟢 @contextmanager превращает функцию в контекстный менеджер.
🟢 Всё до yield — выполняется при входе.
🟢 Всё после yield — при выходе из контекста.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🔥1👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣45👍72💯2
🖼️ Библиотека: humanize

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

ℹ️ Основные возможности:

🟢 Преобразование чисел и дат в читаемый формат.
🟢 Вывод размеров файлов в килобайтах, мегабайтах и т.д.
🟢 Отображение времени в стиле "2 часа назад".
🟢 Лёгкая интеграция в любые проекты.

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

import humanize  
import datetime

print(humanize.intcomma(1234567)) # 1,234,567

size = 1536000
print(humanize.naturalsize(size)) # 1.5 MB

dt = datetime.datetime.now() - datetime.timedelta(hours=3)
print(humanize.naturaltime(dt)) # 3 hours ago


✔️ Установка:

pip install humanize


➡️ Ссылка на документацию

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥7
🧠 Префиксные суммы. Решение задачи из тренировок Яндекса по алгоритмам

В статье я разбираю задачу с разминки Яндекс.Алгоритмы 2023, где надо найти максимальный квадрат из морковок. Показываю, как долго тупил, а потом внезапно прозрел благодаря префиксным суммам.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍21
👩‍💻 Py.CheckiO — интерактивная игра для прокачки Python-навыков

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

Примечательно, что задачи оформлены в виде миссий с визуальной подачей, а своё решение можно сравнить с другими и выбрать самое "питоничное".

⛓️ Ссылка на ресурс

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁54🤣64👍4🤩1
📱 Фишка: dataclasses.asdict — быстрое преобразование объекта в словарь

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

from dataclasses import dataclass, asdict  

@dataclass
class User:
name: str
age: int

user = User("Алиса", 30)
print(asdict(user)) # {'name': 'Алиса', 'age': 30}


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

🟢 asdict() рекурсивно преобразует dataclass в словарь.
🟢 Учитывает вложенные dataclass-поля.
🟢 Отлично сочетается с JSON-сериализацией и REST API

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
16❤‍🔥1👍1👏1
👩‍💻 UI автотесты на Python с запуском на CI/CD и Allure отчетом. PageObject, PageComponent, PageFactory

Разбираю, как писать масштабируемые UI автотесты на Python с PageObject-паттернами, подключить их к CI/CD и получать вменяемые Allure-отчёты. Всё на примере готового проекта.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
📹 Извлечение аудио из видео с помощью moviepy

Всё очень просто, если использовать библиотеку moviepy. Это удобный инструмент для обработки видеофайлов, в том числе для получения аудиодорожки.

✔️ Установка библиотеки

pip install moviepy


⚙️ Пример кода

from moviepy.editor import VideoFileClip  

video = VideoFileClip("your_video.mp4")
video.audio.write_audiofile("audio.wav")


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

1. VideoFileClip открывает видеофайл.
2. .audio получает встроенную аудиодорожку.
3. write_audiofile() сохраняет её в виде отдельного аудиофайла.

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤‍🔥2👍1
Вот это бизнес идея!

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁43👍101
🖼️ Библиотека: inflect

inflect — удобная библиотека для работы с грамматическими формами в английском языке. Позволяет склонять слова, преобразовывать числа в текст и формировать человеко-понятные фразы.

ℹ️ Основные возможности:

🟢 Преобразование чисел в слова (1 → "one").
🟢 Автоматическое согласование единственного/множественного числа.
🟢 Формирование списков в естественном виде: "A, B and C".
🟢 Полезна для генерации текстов, отчетов и интерфейсов.

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

import inflect  

p = inflect.engine()

print(p.number_to_words(42)) # forty-two
print(p.plural("cat", 3)) # cats
print(p.join(["apples", "oranges", "pears"])) # apples, oranges and pears


✔️ Установка:

pip install inflect


➡️ Ссылка на документацию

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍203
👩‍💻 Контролируем качество данных с помощью Python

Расскажу, как на Python чистить данные перед анализом: найдем ошибки, аномалии, пустоты с помощью pandas и pyspark. Полезно всем, кто не хочет строить выводы на мусоре.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍5
👩‍💻 CodeCombat Python — игровая платформа для изучения Python

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

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

⛓️ Ссылка на ресурс

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍6
А какой у вас любимый день?

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁30💯7🤣6
📱 Фишка: collections.namedtuple — удобные неизменяемые структуры данных

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

from collections import namedtuple  

Point = namedtuple("Point", ["x", "y"])
p = Point(3, 5)

print(p.x, p.y) # 3 5
print(p) # Point(x=3, y=5)


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

🟢 namedtuple() создаёт класс с фиксированными полями.
🟢 Работает как tuple, но доступ к значениям по имени.
🟢 Идеально для возврата из функций и хранения простых структур

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍2🥰2👏1
👩‍💻 Решаем VRP-задачи, или Как мы в Додо доставку оптимизировали

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

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍6🥰2