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

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

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
💡 Идея пет-проекта: Помощник по управлению финансами

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

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

💬 Отслеживание расходов: Добавление расходов с указанием категории, суммы и даты.

💬 Анализ расходов: Статистика по категориям расходов и времени, для лучшего понимания своих финансов.

💬 Планирование бюджета: Создание ежемесячного бюджета на основе доходов и обязательств.

💬 Напоминания: Уведомления о предстоящих счетах и платежах.

💬 Безопасность данных: Все данные защищены с помощью шифрования.

💬 Рекомендации по инвестициям: Основы инвестирования и советы по улучшению финансового положения.

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

Язык: Python
Библиотеки: Flask, SQLAlchemy, matplotlib или Plotly, Twilio или Telegram API, Yahoo Finance API.

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

Если вам понравился такой формат поста и вы хотите периодически получать идеи проектов для практики, оставьте побольше реакций 🔥


🐍 Ghostly Python | #идеи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍41
😬😬😬

🐍 Ghostly Python | #мемы
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣25🔥4
📁 Контекстные менеджеры в Python

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

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

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

К примеру, нам нужно прочитать текстовый файл и вывести его содержимое. Сделаем это с использованием контекстного менеджера with:

with open("example.txt", "r") as file:
content = file.read()
print(content)


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

Тоже самое, но без контекстного менеджера:

file = open("example.txt", "r")
content = file.read()
print(content)
file.close() # Нужно не забыть закрыть файл вручную!


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

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

Когда вы используете with, Python создаёт объект контекстного менеджера и вызывает два метода:

__enter__(): Когда входите в блок with, этот метод открывает ресурс (например, файл).
__exit__(): Когда выходите из блока, этот метод закрывает ресурс (например, закрывает файл), освобождая его.

✔️ Вывод

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

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


🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥9
📱 Pytonchik — это платформа, на которой собраны полезные материалы для Python-разработчиков. Здесь вы найдете туториалы, полезные методы и подборки курсов, чтобы углубить свои знания и улучшить навыки программирования.

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

🐍 Ghostly Python | #ресурсы
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72👍2🤩1
📱 Объектно ориентированное программирование в Python

Нашел интересную презентацию, которая погружает в основы ООП на Python.

➡️ Содержание:

— Что такое ООП и зачем оно нужно.
— Разбор классов и их конструкций.
— Ключевые принципы ООП: наследование, инкапсуляция, полиморфизм.
— Достоинства и недостатки подхода.

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

🐍 Ghostly Python | #уроки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤩2🫡2
🖼️ Библиотека: 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