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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
📱 Поднимаем потоковый сервис 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
⚙️ Библиотека: Typer

Typer — это библиотека для создания CLI (Command Line Interface) приложений на Python. Она построена на основе FastAPI и Click, что делает её мощной, но при этом удобной для работы с аргументами и опциями командной строки.

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

import typer

app = typer.Typer()

@app.command()
def hello(name: str):
"""Приветствие пользователя"""
typer.echo(f"Привет, {name}!")

if __name__ == "__main__":
app()


📌 Запуск команды:

python script.py hello Алексей

Привет, Алексей!


Typer позволяет быстро разрабатывать удобные CLI-приложения, с минимальными усилиями. Генерирует документацию, поддерживает автодополнение и аннотации типов Python.

✔️ Установка

pip install typer[all]


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
📱 Брокеры сообщений на практике: как подключиться и пользоваться RabbitMQ в Python

Разбираем основы работы с RabbitMQ: как развернуть брокер сообщений на сервере, настроить панель управления и правильно обрабатывать сообщения без потерь и дублирования.

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

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

Здесь вы найдете статьи, пошаговые руководства, видеоуроки и курсы по различным аспектам Python: от основ до продвинутых тем, таких как асинхронное программирование и веб-разработка.

Примечательно, что материалы постоянно обновляются, а авторы подробно объясняют концепции с примерами кода.

Если хотите улучшить навыки программирования на Python — сохраняйте 👍


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

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
Немного английского юмора

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁193
👩‍💻 Полиморфизм в Python: магия переопределения без хаоса

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

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

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤‍🔥2
📱 Нативный non-blocking I/O через Linux Epoll: создание C-расширений для Python

Почему стандартные механизмы ввода-вывода в Python не справляются с нагрузкой? Разбираем, как epoll помогает оптимизировать сетевые приложения, устраняя бутылочные горлышки select(), poll() и даже asyncio.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81🔥1
Других причин и быть не может... 😄

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁112🔥2
📱 Фишка: inspect.signature — анализ аргументов функции во время выполнения

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

import inspect

def example_function(a: int, b: str = "hello", *args, **kwargs):
pass

sig = inspect.signature(example_function)

for name, param in sig.parameters.items():
print(f"{name}: {param.annotation} = {param.default}")


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

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

def dynamic_func(**kwargs):
print("Переданные аргументы:", kwargs)

sig = inspect.signature(dynamic_func)
print(sig) # **kwargs


🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
👩‍💻 The Algorithms - Python — крупнейший открытый репозиторий с алгоритмами на Python.

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

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

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

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

PrettyTable — это удобный инструмент для создания красивых таблиц в терминале Python. Позволяет форматировать данные в виде таблиц без сложных настроек.

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

from prettytable import PrettyTable

table = PrettyTable()
table.field_names = ["ID", "Имя", "Возраст"]
table.add_row([1, "Алиса", 25])
table.add_row([2, "Боб", 30])
table.add_row([3, "Чарли", 22])

print(table)


📌 Что делает PrettyTable удобной?

🟢 Автоматическое выравнивание и форматирование таблиц
🟢 Поддержка экспорта в HTML, CSV и другие форматы
🟢 Удобный синтаксис без необходимости вручную рассчитывать ширину столбцов

✔️ Установка

pip install prettytable


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍52🤔1
Ну хотя бы попытался...

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣24💯2
🕵️‍♂️ Как парсить веб-страницы на Python с помощью BeautifulSoup

Парсинг HTML позволяет извлекать нужные данные с сайтов, автоматизировать сбор информации и анализировать веб-ресурсы. В этом посте разберем базовый пример с библиотекой BeautifulSoup.

💬 Почему это полезно?

— Можно автоматически собирать данные с сайтов.
— Упрощает анализ HTML-страниц.
— Позволяет извлекать конкретные элементы без сложного кода.

⚙️ Простой пример

1. Для начала установим библиотеку:

pip install beautifulsoup4 requests


2. Допустим, у нас есть страница с HTML-кодом:

<html>
<body>
<h1>Привет, мир!</h1>
<p class="info">Это пример страницы</p>
</body>
</html>


3. Напишем код для парсинга:

import requests
from bs4 import BeautifulSoup

# Загружаем страницу
url = "https://example.com"
response = requests.get(url)

# Разбираем HTML
soup = BeautifulSoup(response.text, "html.parser")

# Извлекаем заголовок
title = soup.find("h1").text
print(title) # Привет, мир!

# Извлекаем текст из <p> с классом "info"
info = soup.find("p", class_="info").text
print(info) # Это пример страницы


➡️ Как это работает?

requests.get(url) загружает HTML-страницу.
BeautifulSoup(response.text, "html.parser") анализирует HTML.
soup.find("h1").text извлекает текст заголовка.
soup.find("p", class_="info").text получает текст из <p> с классом info.

🐍 Ghostly Python | #гайды
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥31
📱 Как создать скрипт-beautifier в Ghidra на Python?

Читаешь дизассемблированный код в Ghidra и тонешь в local_1-999? Разбираем, как с помощью Python-скриптов автоматизировать разметку переменных и упростить анализ кода, чтобы не тратить часы на рутину.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
📱 Фишка: pathlib — удобная работа с файлами и папками

pathlib — это современный модуль Python для работы с путями к файлам и директориям. В отличие от os.path, он предлагает объектно-ориентированный подход, что делает код чище и понятнее.

from pathlib import Path

# Создаем объект пути
file_path = Path("example.txt")

# Проверяем существование файла и читаем его содержимое
if file_path.exists():
print(file_path.read_text())


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

🟢 Path("example.txt") создаёт объект пути вместо обычной строки.
🟢 .exists() проверяет, существует ли файл.
🟢 .read_text() позволяет прочитать файл без использования open().

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Каждый год новые проблемы

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20👍4🤣4💯1
⚙️ Библиотека: Faker

Faker — это удобная библиотека для генерации фейковых данных: имен, адресов, номеров телефонов, дат, текстов и многого другого. Полезна для тестирования и заполнения баз данных случайными значениями.

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

from faker import Faker

fake = Faker("ru_RU") # Локализация для русского языка

print(fake.name()) # Иван Петров
print(fake.address()) # г. Москва, ул. Ленина, д. 10
print(fake.email()) # random@example.com


📌 Что делает Faker удобной?

🟢 Генерирует фейковые данные разных типов (имена, адреса, даты, тексты).
🟢 Поддерживает локализацию (можно генерировать данные на русском).
🟢 Полезна для тестирования, мокирования API и создания демо-данных.

✔️ Установка

pip install faker


🐱 Ссылка на GitHub

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥2