Loguru - это библиотека для ведения логов в Python, созданная для облегчения и улучшения процесса логирования в ваших проектах.
from loguru import logger
# Настройка логирования в файл app.log с ротацией при достижении 500 МБ и уровнем INFO
logger.add("app.log", rotation="500 MB", level="INFO")
def my_function():
logger.debug("Это отладочное сообщение")
logger.info("Информационное сообщение")
logger.warning("Предупреждение")
logger.error("Ошибка")
logger.critical("Критическая ошибка")
my_function()
pip install loguru
Кстати, нашел еще подробный гайд по работе с Loguru. Вот собственно и ссылка на него: Loguru Guide.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Курс по Python для начинающих. После прохождения курса вы начнёте уверенно использовать синтаксис Python для разных задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Шпаргалка по Python, основанная на книге «Автоматизация рутинных задач с помощью Python». Если вы опытный - поможет освежить память, если вы начинающий - поможет преодолеть барьеры в проблемных темах.
Одним словом — годнота👨💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2
Здесь собраны примеры встроенных модулей и библиотек Python для автоматизации ряда популярных повторяющихся задач разной сложности — от конвертации файлов до анализа больших массивов данных. Этот обзор пригодиться всем, кто устал тратить время на утомительные задачи или хочет повысить свою эффективность.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
Работа с API в Python с помощью Requests позволяет легко взаимодействовать с веб-сервисами, отправлять HTTP-запросы и получать данные в формате JSON для анализа и обработки.
pip install requests
import requests
# Отправка GET-запроса к API
response = requests.get('https://api.coindesk.com/v1/bpi/currentprice.json')
# Проверка статуса ответа
if response.status_code == 200:
# Преобразование ответа в JSON
data = response.json()
print(data['bpi']['USD']['rate'])
else:
print('Не удалось получить данные:', response.status_code)
Этот скрипт отправляет GET-запрос к API сервиса CoinDesk, который предоставляет текущий курс биткойна в долларах США. Если запрос успешен (статус код 200), ответ преобразуется в JSON, и выводится курс биткойна.
Requests также поддерживает отправку POST-запросов для передачи данных на сервер.
import requests
# Данные для отправки
payload = {'username': 'testuser', 'password': 'mypassword'}
# Отправка POST-запроса
response = requests.post('https://httpbin.org/post', data=payload)
# Проверка статуса ответа
if response.status_code == 200:
print('Данные успешно отправлены')
print(response.json())
else:
print('Не удалось отправить данные:', response.status_code)
В этом примере скрипт отправляет POST-запрос с данными формы на тестовый сервис httpbin.org. Ответ сервера отображается в виде JSON.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3❤1
В данном плейлисте вы наработаете практику программирования на Python, путем разработки полноценного проекта — CRM сервисной службы.
Отлично подойдет для тех, кто ищет задачи для практики.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Безусловно, стандартная функция Python
print() отлично справляется со своей работой, но только до того момента, пока нам не понадобится вывести какие-то сложные вложенные объекты. При выводе таких объектов с помощью print(), результат будет очень трудно читаемым.В такой ситуации, нам поможет модуль из стандартной библиотеки Python — pprint (pretty print). Он позволяет красиво форматировать и выводить объекты со сложной структурой, что особенно полезно при работе с API или сложными данными.
import requests
import pprint
url = 'https://randomuser.me/api/?results=1'
users = requests.get(url).json()
pprint.pprint(users)
Здесь, благодаря
pprint(), мы получим удобный для чтения вывод:{'info': {'page': 1,
'results': 1,
'seed': '7895e9ae93304faf',
'version': '1.4'},
'results': [{'cell': '(067) A18-5169',
'dob': {'age': 53, 'date': '1971-08-19T15:29:58.280Z'},
'email': 'krilach.gricak@example.com'}
...и так далее...В то время, как обычный
print(), вывел бы все в одной строке:{'results': [{'gender': 'male', 'name': {'title': 'Mr', 'first': 'Krilach', 'last': 'Gricak'}, 'location': {'street': {'number': 7028 и так далее...🔥 pprint — мастхэв для тех, кто работает со вложенными структурами данных!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4❤1
Группа IT-энтузиастов сравнила производительность Python 3.13 с предыдущей версией — Python 3.12 — на различных конфигурациях компьютеров.
Всего было проведено 100 тестов на устройствах с чипами AMD Ryzen 7000 серии и Intel Core 13-го поколения.
Результаты неоднозначные... подробнее, по ссылке ниже🔽
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
README — это визитная карточка вашего проекта. Правильно оформленный файл README помогает пользователям и разработчикам понять, что делает проект, как его использовать и как в него внести изменения.
Начните с названия проекта и короткого описания его цели. Например:
"CryptoTrack — это минималистичный трекер криптовалют, который позволит следить за состоянием вашего инвест портфеля в режиме реального времени."
Объясните, почему вы создали проект, какие задачи он решает, и какие проблемы помогает решить.
Опишите, как установить проект и его зависимости. Например:
git clone https://github.com/username/project.git
cd project
pip install -r requirements.txt
Дайте несколько конкретных примеров, которые показывают, как можно использовать проект. Добавьте блоки кода, демонстрирующие основные функции.
Объясните, как другие могут предложить свои улучшения, указав на правила для пул-реквестов и код-стайла.
Добавьте ссылки на более подробную документацию, если она существует, а также на полезные ресурсы и статьи.
Многие могут пренебрегать составлением readme, однако хорошо структурированный readmy делает ваш проект доступнее и упрощает его использование.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
Создание своей криптовалюты это не простая, но увлекательная задача, требующая знаний в различных областях. И первая область, с котором мы с вам разберемся - блокчейн, а точнее, как его реализовать на Python с применением ООП!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Эта шпаргалка объясняет основы параллелизма в Python. Она охватывает понятия процессов и потоков, описывает многопоточность для задач ввода-вывода и приводит примеры кода для создания потоков, безопасных очередей и оптимизации производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Marshmallow — это библиотека для сериализации, десериализации и валидации сложных объектов данных. Она позволяет преобразовывать Python-объекты в форматы, такие как JSON, и обратно.
Подходит для разработчиков, которым нужно легко управлять валидацией данных и преобразованиями между объектами и форматами, такими как JSON или YAML.
from marshmallow import Schema, fields, ValidationError
# Определение схемы
class UserSchema(Schema):
name = fields.String(required=True)
age = fields.Integer(required=True)
# Данные для сериализации
user_data = {"name": "Alice", "age": 24}
# Сериализация (объект Python -> JSON)
schema = UserSchema()
result = schema.dump(user_data)
print(result)
# Десериализация (JSON -> объект Python)
user_json = '{"name": "Bob", "age": 30}'
try:
user = schema.loads(user_json)
print(user)
except ValidationError as err:
print(err.messages)
pip install marshmallow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤩1
Этот Python-скрипт организует файлы в каталоге, сортируя их по подкаталогам на основе расширений файлов.
1. Скрипт запрашивает путь к каталогу и проверяет его наличие.
2. Перебирает все файлы в каталоге.
3. Определяет расширение файла и создает подкаталог с именем расширения.
4. Перемещает каждый файл в соответствующий подкаталог.
📂 Скрипт с подробным комментированием кода уже в архиве:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤1🍌1
Понимание архитектуры — ключевой навык для разработки качественного и поддерживаемого кода.
Этот гайд объясняет важные концепции, такие как разделение на уровни, паттерны проектирования и принципы SOLID, которые помогут джунам строить масштабируемые и чистые Python-приложения. Следуя этим принципам, можно значительно упростить поддержку кода и подготовиться к росту нагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
В ходе курса, вы будете создавать полноценное веб-приложение на Python, с использованием фреймворка Flask. Научитесь создавать сайты и веб-приложения любой сложности на Python, освоив все основные аспекты работы с фреймворком Flask.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Deepface — удобная библиотека для Python, которая распознает лица и анализирует их характеристики: возраст, пол, эмоции и расу.
Она применяет гибридный подход, объединяя несколько мощных моделей, таких как VGG-Face, FaceNet, OpenFace, DeepFace, DeepID, ArcFace, Dlib, SFace и GhostFaceNet, что делает её особенно гибкой и точной.
from deepface import DeepFace
result = DeepFace.verify(
img1_path = "face_1.jpg",
img2_path = "face_2.jpg",
)
Результат — словарь с данными анализа изображений, позволяющий глубже понять схожесть лиц.
pip install deepface
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤2
yield — ключевое слово в Python, которое часто вызывает вопросы у новичков, но при этом открывает мощные возможности для оптимизации кода. По сути, yield позволяет функции запомнить свое состояние и продолжить выполнение с того же места, где остановилась. Это делает функцию "генератором", который возвращает значения одно за другим, по мере их запроса.Вместо привычного
return, который завершает функцию и возвращает значение, yield приостанавливает её выполнение, но не закрывает. При каждом вызове генератора он продолжает выполнение с того места, где остановился. Это полезно, когда нужно работать с большим объемом данных, так как генераторы создают элементы "лениво", по одному за раз, не занимая много памяти.def countdown(n):
while n > 0:
yield n
n -= 1
for number in countdown(5):
print(number)
Этот код будет выводить числа от 5 до 1 по одному, при каждом вызове
yield, экономя память и время.Использование
yield особенно полезно при работе с большими списками, потоками данных или бесконечными последовательностями. Генераторы позволяют обходить ограничение памяти и выполнять операции быстрее за счет обработки данных на лету.Подробнее вы можете изучить в статье по ссылке — ознакомиться⬅️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
numbers = [1, 2, 3, 4, 5]
result = 0
for i in range(1, len(numbers), 2):
result += numbers[i]
print(result)
Выберите вариант ответа ниже
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Эта шпаргалка — быстрый и удобный справочник по основам Python для начинающих и опытных разработчиков.
Она охватывает ключевые темы: переменные, приведение типов, операторы, часто используемые методы с примерами, регулярные выражения, обработку ошибок и многое другое. С примерами кода и краткими пояснениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6