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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
📱 Фишка: uuid — генерация уникальных идентификаторов

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

import uuid  

# Генерация UUID версии 4 (на основе случайных чисел)
unique_id = uuid.uuid4()
print(unique_id) # Например: e4f1c2c8-9c3f-4a5b-a6e9-9c1b7a7e41e2


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

🟢 uuid4() генерирует случайный уникальный идентификатор.
🟢 UUID гарантирует уникальность без необходимости централизованного контроля.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
📱 Топ веб‑парсеров и API-сервисов для сбора данных: сравнение скорости, масштабируемости и обхода защит

В статье я пробегусь по самым адекватным инструментам для веб-скрейпинга: от библиотек до сервисов. Покажу, что лучше для API, что — для JavaScript-страниц. Будет коротко и по делу.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
9
🧮 Конвертация изображений в ASCII-арт с помощью asciify

Всё очень просто, если использовать библиотеку asciify. Это один из самых интересных способов превратить обычное изображение в текстовую "рисовку".

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

pip install asciify


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

from asciify import asciify_image  

# Конвертируем изображение в ASCII
asciify_image("example.jpg", output="ascii_output.txt")

print("ASCII-арт сохранён!")


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

1. asciify_image() принимает путь к изображению.
2. Преобразует его в набор символов, имитирующих тени и контуры.
3. Результат сохраняется в текстовый файл.

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Священный грааль

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁25💯2
🖼️ Библиотека: filetype

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

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

🟢 Определение типа и MIME-файла без открытия вручную.
🟢 Поддержка популярных форматов изображений, видео, аудио и документов.
🟢 Удобна при валидации загружаемых файлов.
🟢 Работает быстро и без внешних зависимостей.

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

import filetype  

with open("example.jpg", "rb") as f:
kind = filetype.guess(f.read())

if kind:
print(f"Тип файла: {kind.mime}, расширение: .{kind.extension}")
else:
print("Не удалось определить тип файла.")


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

pip install filetype


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥81👍1
📱 Год с Dishka: какой он — модный DI-контейнер?

В статье расскажу, как контейнер зависимостей dishka помогает держать в узде двенадцать entrypoint'ов, REST и Telegram‑бота в одном процессе и не потерять остатки разума.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41
👩‍💻 LeetCode Python — платформа для практики алгоритмов и подготовки к собеседованиям на Python

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

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

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

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Наглядная иллюстрация

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣9
📱 Фишка: timeit — точное измерение времени выполнения кода

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

import timeit  

# Измеряем время выполнения выражения
execution_time = timeit.timeit("sum(range(1000))", number=1000)
print(f"Время выполнения: {execution_time:.4f} сек")


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

🟢 timeit.timeit() запускает выражение указанное количество раз.
🟢 Работает чище и точнее, чем time.time() для кратких операций.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🎙 Озвучка текста на Python с помощью pyttsx3

Всё очень просто, если использовать библиотеку pyttsx3. Это оффлайн-решение для преобразования текста в речь без подключения к интернету.

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

pip install pyttsx3


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

import pyttsx3  

# Создаём движок озвучки
engine = pyttsx3.init()
engine.say("Привет! Это голос из Python.")
engine.runAndWait()


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

1. pyttsx3.init() инициализирует синтезатор речи.
2. say() принимает текст для озвучки.
3. runAndWait() запускает воспроизведение.

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
😡 Гайд по работе с базами данных SQLite в Python

SQLite — отличный выбор для локального хранения данных, и sqlite3 в Python делает его использование простым и удобным. Давайте разберём основные операции с базами данных, начиная с создания, вставки данных, обновления и удаления.

1️⃣ Создание и подключение к базе данных:

import sqlite3

# Подключение к базе данных (создаётся новая, если не существует)
conn = sqlite3.connect('example.db')
cursor = conn.cursor()


2️⃣ Создание таблицы:

cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)
''')


3️⃣ Вставка данных:

cursor.execute('INSERT INTO users (name, age) VALUES (?, ?)', ('Alice', 30))
conn.commit() # Сохраняем изменения


4️⃣ Получение данных:

cursor.execute('SELECT * FROM users')
rows = cursor.fetchall()
for row in rows:
print(row)


5️⃣ Обновление данных:

cursor.execute('UPDATE users SET age = ? WHERE name = ?', (31, 'Alice'))
conn.commit()


6️⃣ Удаление данных:

cursor.execute('DELETE FROM users WHERE name = ?', ('Alice',))
conn.commit()


📌 Советы

🟢 Используйте параметризованные запросы (? или :) для защиты от SQL-инъекций.
🟢 Закрывайте соединение с базой после завершения работы: conn.close().
❗️ SQLite подходит для небольших проектов, тестирования или хранения локальных данных.

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
👍91
📱 Все ли волки страшные: AUF или как приручить uplift?

Покажу, как мы в Альфа-Банке автоматизировали uplift-моделирование с помощью AUF. Больше никакой рутины — только ускорение, отчёты и кайф.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥3🤔1
🖼️ Библиотека: python-magic

python-magic — обёртка над системной утилитой libmagic, которая позволяет определять тип файла по его содержимому, аналогично команде file в Linux.

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

🟢 Определение MIME-типа и описания файла.
🟢 Работает не по расширению, а по "магическим числам" внутри файла.
🟢 Поддержка огромного количества форматов.
🟢 Полезна при анализе неизвестных или загружаемых файлов.

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

import magic  

mime = magic.from_file("example.pdf", mime=True)
print(f"MIME-тип: {mime}")


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

pip install python-magic


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣20🤔3
🤔 Недопонятый язык Lua

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

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

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

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

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

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

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
📱 Фишка: atexit — выполнение кода при завершении программы

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

import atexit  

def goodbye():
print("Программа завершена. До свидания!")

atexit.register(goodbye)

print("Скрипт выполняется...")


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

🟢 atexit.register() сохраняет функцию, которая выполнится при завершении интерпретатора.
🟢 Можно регистрировать несколько функций — они выполняются в порядке добавления.
🟢 Отлично подходит для финализации без использования try/finally.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥10
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥23😁7💯7👀3👍1
🖼️ Библиотека: python-slugify

python-slugify — удобная библиотека для преобразования текста в "человеко-понятные" URL-строки (так называемые "слаги"). Особенно полезна при генерации адресов, идентификаторов и файловых имён.

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

🟢 Преобразование текста в безопасный URL-вид.
🟢 Удаление специальных символов и пробелов.
🟢 Поддержка кириллицы и других алфавитов.
🟢 Лёгкая интеграция с веб-приложениями и CMS.

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

from slugify import slugify  

title = "Пример заголовка для статьи!"
slug = slugify(title)
print(slug) # primer-zagolovka-dlya-stati


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

pip install python-slugify


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3
🧠 Черный ящик с мозгами внутри: простое введение в нейросети

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

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

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