Суть проекта в том, чтобы создать персонального помощника для управления финансами, который поможет пользователям контролировать свои расходы, планировать бюджет и анализировать финансовые привычки.
Язык:
PythonБиблиотеки:
Flask, SQLAlchemy, matplotlib или Plotly, Twilio или Telegram API, Yahoo Finance API.Если вам понравился такой формат поста и вы хотите периодически получать идеи проектов для практики, оставьте побольше реакций🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍4❤1
Это инструмент для работы с ресурсами, которые требуют открытие и закрытие, например, с файлами, сетевыми соединениями, базами данных и многими другими. Мы рассмотрим эту тему на примере работы с файлами.
При работе с файлами, важно их закрывать после использования. Быть может, это не так очевидно, но если этого не сделать, то есть шанс возникновения ошибки или утечки памяти. Так вот, контекстный менеджер автоматизирует этот процесс и защищает от подобных ошибок.
К примеру, нам нужно прочитать текстовый файл и вывести его содержимое. Сделаем это с использованием контекстного менеджера
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, Python создаёт объект контекстного менеджера и вызывает два метода:•
__enter__(): Когда входите в блок with, этот метод открывает ресурс (например, файл).•
__exit__(): Когда выходите из блока, этот метод закрывает ресурс (например, закрывает файл), освобождая его.Контекстные менеджеры делают код более безопасным, читаемым и минимизируют ошибки, связанные с забытыми операциями закрытия или освобождения ресурсов. Используйте их для управления файлами, сетевыми соединениями, многозадачностью и любыми другими ресурсами, которые нужно открывать и закрывать.
Друзья, пост получился довольно длинным, но надеюсь полезным. Поддержите реакциями🔥 Возможно придумаю какой-то вариант, при котором посты будут компактнее, а подробное изложение где-то в другом месте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥9
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2👍2🤩1
Нашел интересную презентацию, которая погружает в основы ООП на Python.
— Что такое ООП и зачем оно нужно.
— Разбор классов и их конструкций.
— Ключевые принципы ООП: наследование, инкапсуляция, полиморфизм.
— Достоинства и недостатки подхода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤩2🫡2
Scrapy — мощная библиотека для Python, созданная для быстрого и удобного извлечения данных с веб-сайтов.
pip install scrapy
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, чтения из базы данных)
Если полезно, оставляйте реакции, друзья🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥5
Статья представляет собой подходы и советы, которые помогут вам писать чистый и эффективный Python-код.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Sphinx — мощный инструмент для автоматического создания документации. Он генерирует красивые HTML, PDF и другие форматы из файлов с разметкой reStructuredText или Markdown.
— Генерация документации в HTML, PDF, LaTeX и ePub.
— Автоматическая генерация API-документации из исходного кода.
— Поддержка различных форматов разметки (reStructuredText, Markdown).
1. Установка
pip install sphinx
2. Создание проекта:
sphinx-quickstart
3. Генерация документации:
make html
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Использование библиотеки 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)
Фильтрация позволяет выбрать только те строки, которые удовлетворяют определённым условиям.
# Фильтрация строк, где значение в столбце '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.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
В этом видео рассматриваются распространённые ошибки, которые часто допускают начинающие разработчики в Python. Вы узнаете, как эти ошибки замедляют ваш проект, создают проблемы для анализа кода и как их исправить, чтобы стать более эффективным программистом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Суть данного проекта заключается в том, что необходимо создать телеграм-бота, который позволит пользователям скачивать видео с YouTube указав ссылку на него. А также, извлекать только аудиодорожку из видео в формате
.mp3. Язык:
PythonБиблиотеки:
pytube, aiogram или pyTelegramBotApiЕсли хотите урок с полной реализацией этой идеи, оставляйте реакции🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥89👍3❤1
Аутентификация — ключевой аспект любого веб-приложения. В этой статье рассматриваются различные подходы к реализации аутентификации в Django, начиная с базовых встроенных методов и переходя к более продвинутым, таким как двухфакторная аутентификация (2FA) и OAuth2.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Лямбда-функции — это краткий способ определения анонимных функций в 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]
• функция содержит более одной строки или выполняет несколько задач
• необходим повторный вызов функции в будущем
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5
Книга подходит даже для тех, кто никогда не программировал. Узнайте, как работать с файлами, собирать данные с веб-сайтов, обрабатывать PDF-документы, отправлять email и многое другое.
Обновлённое второе издание включает новые главы о проверке данных и автоматизации Google Таблиц.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
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()}")
from hdwallet.utils import generate_mnemonic
mnemonic = generate_mnemonic()
print(f"Сгенерированная seed-фраза: {mnemonic}")
Можем использовать для простого управления крипто-кошельками в Python, или для интеграции в криптопроекты и кошельки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Эта удобная шпаргалка по Python создана для того, чтобы всегда держать под рукой ключевые функции и примеры кода. Независимо от вашего уровня знаний, она поможет быстро вспомнить, как решить ту или иную задачу.
• Базовый синтаксис: переменные, циклы, условия.
• Работа со строками и списками: часто используемые методы.
• Файлы и исключения: примеры открытия, чтения и записи данных.
• Модули и пакеты: основы импорта и работы с библиотеками.
• Популярные библиотеки: краткие примеры использования pandas, requests, numpy и других.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Когда речь идет о создании мощных и эффективных хакерских инструментов, большинство аналитиков по безопасности выбирают Python. Во втором издании бестселлера Black Hat Python вы исследуете темную сторону возможностей Python.
Хорошее руководство для начинающих, чтобы освоить основы кибербезопасности, пентестинга и написания утилит для защиты систем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Работая с классами, часто приходится писать много однотипного кода: конструкторы, методы сравнения, представление объектов. 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. Автоматически добавляются методы, но при необходимости их можно переопределить.
Используем, для создания структурированных классов, где нужно хранить только данные. Или для упрощения работы с конфигурациями, результатами запросов или параметрами функций.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🍌1
Индикаторы прогресса — это не просто анимация, которая радует глаз, а инструмент который помогает оценить насколько быстро выполняется наш код и сколько еще ждать завершения.
Кто-то может подумать, что это лишнее усложнение кода. Однако, это не так.
В этой статье, вы найдете небольшие примеры, которые покажут, как быстро и просто начать отслеживать прогресс в консоли или в интерфейсе
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1