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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
🖼️ Библиотека: Scrapy

Scrapy — мощная библиотека для Python, созданная для быстрого и удобного извлечения данных с веб-сайтов.

💡 Основные возможности

🟠Асинхронная обработка: Работает с множеством запросов одновременно.
🟠Гибкие инструменты парсинга: Поддержка XPath и CSS для извлечения данных из HTML.
🟠Пайплайны данных: Обработка и сохранение данных в удобных форматах (JSON, CSV и др.).
🟠Автоматизация: Работа с формами и аутентификацией.

✔️ Установка

pip install scrapy


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
📱 Фишка: кэширование результатов функций

Когда у нас в коде часто вызывается одна и та же функция с одинаковыми аргументами, мы можем ускорить её работу с помощью кэширования. Для этого нам понадобиться встроенный декоратор functools.lru_cache(), который сохраняет результаты выполнения функции, чтобы повторные вызовы с теми же аргументами не пересчитывались.

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

from functools import lru_cache

@lru_cache(maxsize=128) # Ограничиваем размер кэша
def factorial(n):
if n == 0:
return 1
return n * factorial(n - 1)

print(factorial(50)) # Результат сохранится в кэше


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

• При первом вызове функции с аргументом результат сохраняется в кэше.
• При повторном вызове с тем же аргументом значение берётся из кэша, без повторного вычисления.

Когда кэш заполняется, старые записи удаляются по принципу LRU (Least Recently Used — наименее часто используемые).

✔️ Можно использовать:

— для функций с повторяющимися вызовами, где аргументы неизменяемы
— для ускорения рекурсивных алгоритмов
— для кэширования результатов медленных операций (запросов к API, чтения из базы данных)

Если полезно, оставляйте реакции, друзья 🔥


🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5
✈️ 10 способов писать идеальный код на Python

Статья представляет собой подходы и советы, которые помогут вам писать чистый и эффективный Python-код.

📌 Из статьи вы узнаете:

➡️ Как улучшить читаемость с помощью стиля кода.
➡️ Когда и зачем использовать аннотации типов.
➡️ Лучшие практики работы с функциями, классами и исключениями.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
📄 Sphinx: Создание документации для Python-проектов

Sphinx — мощный инструмент для автоматического создания документации. Он генерирует красивые HTML, PDF и другие форматы из файлов с разметкой reStructuredText или Markdown.

📌 Что умеет?

— Генерация документации в HTML, PDF, LaTeX и ePub.
— Автоматическая генерация API-документации из исходного кода.
— Поддержка различных форматов разметки (reStructuredText, Markdown).

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

1. Установка

pip install sphinx


2. Создание проекта:

sphinx-quickstart


3. Генерация документации:

make html


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

🐍 Ghostly Python | #инструменты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
🗂 Работа с файлами CSV в Python с помощью pandas

Использование библиотеки pandas для работы с CSV-файлами в Python значительно облегчает обработку, анализ и манипуляцию данными. В этом посте рассмотрим базовые примеры работы с библиотекой.

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

pip install pandas


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

import pandas as pd

# Чтение CSV файла
df = pd.read_csv('data.csv')

# Вывод первых 5 строк
print(df.head())

# Запись данных обратно в CSV файл
df.to_csv('output.csv', index=False)


➡️ Этот скрипт загружает CSV-файл в DataFrame, выводит первые 5 строк и записывает данные обратно в новый файл.

🔍 Фильтрация данных

Фильтрация позволяет выбрать только те строки, которые удовлетворяют определённым условиям.

# Фильтрация строк, где значение в столбце 'age' больше 30
filtered_df = df[df['age'] > 30]

print(filtered_df)


➡️ В этом примере выбираются строки, где значение в столбце age превышает 30.

Объединение нескольких файлов

Если у вас есть несколько CSV-файлов, их можно легко объединить в один.

import glob

# Получение списка всех CSV файлов в текущей директории
csv_files = glob.glob('*.csv')

# Чтение и объединение всех CSV файлов
df_list = [pd.read_csv(file) for file in csv_files]
combined_df = pd.concat(df_list, ignore_index=True)

print(combined_df)


Здесь все CSV-файлы в текущей директории загружаются и объединяются в один DataFrame.

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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🖥 Самые частые ошибки новичков в Python (и как их избежать)

В этом видео рассматриваются распространённые ошибки, которые часто допускают начинающие разработчики в Python. Вы узнаете, как эти ошибки замедляют ваш проект, создают проблемы для анализа кода и как их исправить, чтобы стать более эффективным программистом.

📱 Ссылка на видео

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
💡 Идея пет-проекта: бот для загрузки видео с YouTube и извлечения его аудиодорожки

Суть данного проекта заключается в том, что необходимо создать телеграм-бота, который позволит пользователям скачивать видео с YouTube указав ссылку на него. А также, извлекать только аудиодорожку из видео в формате .mp3.

⚙️ Основной функционал

💬 Загрузка видео: Пользователь отправляет боту ссылку на видео с YouTube, и бот загружает это видео.

💬 Выбор формата: Пользователь может указать формат и качество видео, которое он хочет загрузить (например, 720p, 1080p). А также выбрать загрузку только аудиодорожки.

💬 Прогресс загрузки: Бот будет сообщать пользователю о прогрессе загрузки видео.

💬 Получение файла: По завершении загрузки, бот должен прислать файл пользователю.

Что используем:

Язык: Python
Библиотеки: pytube, aiogram или pyTelegramBotApi

⚡️ Сложность: средняя

Если хотите урок с полной реализацией этой идеи, оставляйте реакции 🔥


🐍 Ghostly Python | #идеи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥89👍31
🐍 Django-аутентификация: просто о сложном

Аутентификация — ключевой аспект любого веб-приложения. В этой статье рассматриваются различные подходы к реализации аутентификации в Django, начиная с базовых встроенных методов и переходя к более продвинутым, таким как двухфакторная аутентификация (2FA) и OAuth2.

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
📱 Лямбда-функции в Python: компактный способ работы с функциями

Лямбда-функции — это краткий способ определения анонимных функций в Python. Они полезны, когда вам нужно написать простую функцию прямо "на месте", без явного её объявления через def.

📌 Синтаксис:

lambda аргументы: выражение


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

⚙️ Где и как их использовать?

1. Мы можем использовать лямбда-функции, вместо коротких функций. Например:

add = lambda x, y: x + y
print(add(3, 5)) # результат 8


2. Также, можем брать на вооружение при работе внутри функций высшего порядка (map, filter, sorted). Например, если нам необходимо удвоить каждый элемент списка:

numbers = [1, 2, 3, 4, 5]

# Удваиваем каждый элемент списка
doubled = list(map(lambda x: x * 2, numbers))
print(doubled)
# Вывод: [2, 4, 6, 8, 10]


⚠️ Не стоит прибегать к лямбда-функциям, если:

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

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5
📖 Автоматизация рутинных задач с помощью Python

Книга подходит даже для тех, кто никогда не программировал. Узнайте, как работать с файлами, собирать данные с веб-сайтов, обрабатывать PDF-документы, отправлять email и многое другое.

Обновлённое второе издание включает новые главы о проверке данных и автоматизации Google Таблиц.

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

🐍 Ghostly Python | #книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
🖼️ Библиотека: HDWallet

HDWallet — это библиотека для Python, которая позволяет легко создавать, управлять и использовать иерархически детерминированные криптовалютные кошельки (HD wallets). Она поддерживает множество популярных криптовалют и использует стандарты BIP-32, BIP-39 и BIP-44.

📌 Основные возможности

• Генерация HD-кошельков из seed-фразы или мастер-ключа.
• Создание seed-фраз по стандарту BIP-39.
• Поддержка более 10 криптовалют (Bitcoin, Ethereum и др.).
• Получение адресов, приватных и публичных ключей.
• Удобная работа с различными путями деривации.

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

➡️ Генерация нового кошелька:

from hdwallet import HDWallet
from hdwallet.symbols import BTC

# Генерация нового кошелька для Bitcoin
hdwallet = HDWallet(symbol=BTC)
hdwallet.from_mnemonic("your seed phrase here", passphrase="optional passphrase")
hdwallet.from_index(0) # Первый дочерний ключ
print(f"Адрес: {hdwallet.p2pkh_address()}")


➡️ Создание seed-фразы:

from hdwallet.utils import generate_mnemonic

mnemonic = generate_mnemonic()
print(f"Сгенерированная seed-фраза: {mnemonic}")


Можем использовать для простого управления крипто-кошельками в Python, или для интеграции в криптопроекты и кошельки.

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
✏️ Методы строк в Python

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15👏3
📱 Comprehensive Python Cheatsheet

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

📌 Что внутри?

• Базовый синтаксис: переменные, циклы, условия.
• Работа со строками и списками: часто используемые методы.
• Файлы и исключения: примеры открытия, чтения и записи данных.
• Модули и пакеты: основы импорта и работы с библиотеками.
• Популярные библиотеки: краткие примеры использования pandas, requests, numpy и других.

⛓️ Ссылка на шпаргалку

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
📖 Black Hat Python

Когда речь идет о создании мощных и эффективных хакерских инструментов, большинство аналитиков по безопасности выбирают Python. Во втором издании бестселлера Black Hat Python вы исследуете темную сторону возможностей Python.

📌 Что внутри?

🟢 Разработка инструментов для тестирования на проникновение.
🟢 Создание сетевых сканеров и анализаторов трафика.
🟢 Написание вредоносных программ и управление ботнетами.
🟢 Обход антивирусных защит и создание эксплойтов.
🟢 Использование Python для автоматизации атак и защиты.

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

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

🐍 Ghostly Python | #книги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
📱 Фишка: dataclasses — избавляемся от лишнего кода

Работая с классами, часто приходится писать много однотипного кода: конструкторы, методы сравнения, представление объектов. Dataclasses позволяют не тратить на это время.

С помощью декоратора @dataclass Python автоматически создаёт методы __init__, __repr__, __eq__ и другие, освобождая вас от рутины.

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

from dataclasses import dataclass

@dataclass
class User:
id: int
name: str
email: str

user1 = User(1, "Alice", "alice@example.com")
user2 = User(1, "Alice", "alice@example.com")

print(user1) # User(id=1, name='Alice', email='alice@example.com')
print(user1 == user2) # True


📌 Что мы получаем?

1. Упрощенную работу с данными — меньше шаблонного кода.
2. Код становится чище и понятнее.
3. Автоматически добавляются методы, но при необходимости их можно переопределить.

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


🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🍌1
🚛 Отслеживаем прогресс выполнения в Python

Индикаторы прогресса — это не просто анимация, которая радует глаз, а инструмент который помогает оценить насколько быстро выполняется наш код и сколько еще ждать завершения.

Кто-то может подумать, что это лишнее усложнение кода. Однако, это не так.

В этой статье, вы найдете небольшие примеры, которые покажут, как быстро и просто начать отслеживать прогресс в консоли или в интерфейсе

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

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
⚙️ Скрипт: Мониторинг изменений на веб-странице

Этот скрипт проверяет изменения на веб-странице, сравнивая текущую версию страницы с её предыдущей версией. Полезно для мониторинга обновлений, новостей или отслеживания изменений на сайтах.

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

💬 Скрипт загружает HTML-код страницы и рассчитывает его хэш с помощью hashlib.
💬 Каждые N секунд загружает страницу и проверяет, изменился ли хэш.
💬 При обнаружении изменений выводит сообщение в консоль.

📂 Скрипт с подробным комментированием кода уже в архиве:


➡️ Скачать...

🐍 Ghostly Python | #скрипты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
💬 Выбираем формат реализации пет-проекта

Дорогие подписчики, вы набрали огромное количество реакций под постом с идеей проекта — «Бот для загрузки видео с YouTube». Обещал сделать урок с полной реализацией этого проекта.

Так вот, какой формат вам будет более удобен?

🔥 — формат видео урока с подробным процессом разработки
❤️‍🔥 — пошаговый гайд в формате PDF файла

🐍 Ghostly Python | #заметки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥46🔥16👍3
🖼️ Библиотека: PyMongo

PyMongo — это официальная библиотека для взаимодействия с MongoDB, одной из самых популярных NoSQL баз данных. Она позволяет легко подключаться к базе, управлять данными и выполнять запросы из Python-кода.

📌 Основные возможности

• Подключение к локальной или удалённой MongoDB.
• Создание, чтение, обновление и удаление документов (CRUD-операции).
• Работа с коллекциями и базами данных.
• Полная поддержка MongoDB запросов, индексов и агрегаций.
• Асинхронное взаимодействие через Motor.

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

➡️ Подключение к базе:

from pymongo import MongoClient

# Подключение к MongoDB
client = MongoClient("mongodb://localhost:27017/")

# Выбираем базу данных
db = client["mydatabase"]

# Выбираем коллекцию
collection = db["users"]


➡️ Добавление данных:

user = {"name": "Alice", "age": 25, "city": "Paris"}
collection.insert_one(user)


➡️ Чтение данных:

# Читаем все документы
for user in collection.find():
print(user)


✔️ Установка

pip install pymongo


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

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
📊 Шпаргалка для новичков по Matplotlib

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

📌 Что внутри?

• Основы построения графиков (plt.plot, plt.scatter).
• Настройка легенд, заголовков и подписей осей.
• Создание гистограмм, диаграмм и heatmap.
• Использование стилей и тем оформления.

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

🐍 Ghostly Python | #шпаргалки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7