Что такое сериализация?
Сериализация — это процесс преобразования объектов в поток байтов для сохранения или передачи.
Это позволяет сохранить состояние объекта в файл или базу данных и восстановить его позже.
Основные преимущества сериализации:
— Сохранение и восстановление объектов между сессиями программы.
— Передача объектов по сети между приложениями и машинами.
— Преобразование объектов в формат хранения, независимый от платформы.
Сериализация — это процесс преобразования объектов в поток байтов для сохранения или передачи.
Это позволяет сохранить состояние объекта в файл или базу данных и восстановить его позже.
Основные преимущества сериализации:
— Сохранение и восстановление объектов между сессиями программы.
— Передача объектов по сети между приложениями и машинами.
— Преобразование объектов в формат хранения, независимый от платформы.
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🆕 Змея сбросила старую кожу: что нового в Python 3.13
Версия 3.13 принесла ряд важных нововведений, нацеленных на повышение скорости выполнения кода, улучшение читаемости и новые возможности для интерактивной работы. В новой статье перечислили главные изменения, которые должен знать каждый Python-разработчик.
👉 Читать статью
👉 Зеркало
Версия 3.13 принесла ряд важных нововведений, нацеленных на повышение скорости выполнения кода, улучшение читаемости и новые возможности для интерактивной работы. В новой статье перечислили главные изменения, которые должен знать каждый Python-разработчик.
👉 Читать статью
👉 Зеркало
Что делать если нужно сериализовать данные, которые не поддерживаются стандартным модулем json?
Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:
— Реализовать методы __getattr__ и __setattr__ в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.
— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.
— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.
— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.
— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).
— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.
Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:
— Реализовать методы __getattr__ и __setattr__ в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.
— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.
— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.
— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.
— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).
— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🔀 Под капотом asyncio: принципы работы и ключевые концепции
Библиотека asyncio предоставляет полный набор инструментов для организации параллельного выполнения кода в Python с использованием концепции асинхронности. Но как на самом деле работает asyncio? В новой статье разберёмся в ключевых принципах и понятиях.
🔗 Читать статью
🔗 Зеркало
Библиотека asyncio предоставляет полный набор инструментов для организации параллельного выполнения кода в Python с использованием концепции асинхронности. Но как на самом деле работает asyncio? В новой статье разберёмся в ключевых принципах и понятиях.
🔗 Читать статью
🔗 Зеркало
Forwarded from Библиотека питониста | Python, Django, Flask
🖥️🔤 Транскрибация видео и создание субтитров с помощью Whisper, FFmpeg и Python
Следуя нашему пошаговому руководству, вы сможете автоматически транскрибировать аудио и добавлять субтитры к своим видео всего за несколько минут.
🔗 Читать руководство
🔗 Зеркало
Следуя нашему пошаговому руководству, вы сможете автоматически транскрибировать аудио и добавлять субтитры к своим видео всего за несколько минут.
🔗 Читать руководство
🔗 Зеркало
Forwarded from Библиотека питониста | Python, Django, Flask
У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали новый выпуск на
Ниже — небольшая часть выпуска, а целиком читайте здесь 👈
Новый видеоролик рассказывает о паттерне Unit of Work, который используется для обеспечения согласованности данных при выполнении операций с базами данных.
В этом видео подробно показан процесс настройки Django, создания класса Task и написания воркера.
Для отправки писем из Python-приложений можно использовать сторонние API или напрямую подключаться к SMTP-серверу. Второй метод пошагово разобран в этой статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
Каким будет результат следующего выражения: -31 % 10?
Результатом выражения -31 % 10 будет 9. Это происходит потому, что для отрицательных чисел оператор % возвращает остаток от деления первого числа на второе немного другим образом. -31 % 10 = -3 — 1/10 и в ответ мы получим 10 — 1 = 9.
Forwarded from Библиотека питониста | Python, Django, Flask
🐍🌳 Реализация алгоритма Укконена на Python
Алгоритм Укконена предназначен для построения суффиксного дерева из строки.Суффиксное дерево — это компактное, сжатое древовидное представление всех суффиксов данной строки.
И хоть алгоритм выглядит просто и понятно в теории, он представляет определённые сложности для реализации. Разбираемся, как превратить его в рабочий код для построения и визуализации дерева.
🔗 Читать статью
🔗 Зеркало
Алгоритм Укконена предназначен для построения суффиксного дерева из строки.
И хоть алгоритм выглядит просто и понятно в теории, он представляет определённые сложности для реализации. Разбираемся, как превратить его в рабочий код для построения и визуализации дерева.
🔗 Читать статью
🔗 Зеркало
Гайд по магическим методам сравнения
В Python уйма магических методов, созданных для определения интуитивного сравнения между объектами используя операторы, а не неуклюжие методы. Вот список этих методов и что они делают:
1. __cmp__(self, other)
Самый базовый из методов сравнения. Он, в действительности, определяет поведение для всех операторов сравнения (>, ==, !=), но не всегда так, как вам это нужно. __cmp__ должен вернуть отрицательное число, если self < other, ноль, если self == other, и положительное число в случае self > other.
2. __eq__(self, other)
Определяет поведение оператора равенства, ==.
3. __ne__(self, other)
Определяет поведение оператора неравенства, !=.
4. __lt__(self, other)
Определяет поведение оператора меньше, <.
5. __gt__(self, other)
Определяет поведение оператора больше, >.
6. __le__(self, other)
Определяет поведение оператора меньше или равно, <=.
7. __ge__(self, other)
Определяет поведение оператора больше или равно, >=.
В Python уйма магических методов, созданных для определения интуитивного сравнения между объектами используя операторы, а не неуклюжие методы. Вот список этих методов и что они делают:
1. __cmp__(self, other)
Самый базовый из методов сравнения. Он, в действительности, определяет поведение для всех операторов сравнения (>, ==, !=), но не всегда так, как вам это нужно. __cmp__ должен вернуть отрицательное число, если self < other, ноль, если self == other, и положительное число в случае self > other.
2. __eq__(self, other)
Определяет поведение оператора равенства, ==.
3. __ne__(self, other)
Определяет поведение оператора неравенства, !=.
4. __lt__(self, other)
Определяет поведение оператора меньше, <.
5. __gt__(self, other)
Определяет поведение оператора больше, >.
6. __le__(self, other)
Определяет поведение оператора меньше или равно, <=.
7. __ge__(self, other)
Определяет поведение оператора больше или равно, >=.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
Хардкорный курс по математике для тех, кто правда любит математику!
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/adbf54d6
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/adbf54d6
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/adbf54d6
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека питониста | Python, Django, Flask
🌐 Scrapy VS Crawlee: сравнение фреймворков для веб-скрапинга
Scrapy и Crawlee — фреймворки для скрапинга. Первый — заслуженный ветеран, второй появился относительно недавно. В новой статье разбираемся, какой из инструментов лучше подойдёт для вашего проекта.
🔗 Читать статью
🔗 Зеркало
Этот материал взят из нашей субботней email-рассылки, посвященной Python. Подпишитесь, чтобы быть в числе первых, кто получит дайджест👈
Scrapy и Crawlee — фреймворки для скрапинга. Первый — заслуженный ветеран, второй появился относительно недавно. В новой статье разбираемся, какой из инструментов лучше подойдёт для вашего проекта.
🔗 Читать статью
🔗 Зеркало
Этот материал взят из нашей субботней email-рассылки, посвященной Python. Подпишитесь, чтобы быть в числе первых, кто получит дайджест👈
⚡️Proglib запускает канал про ИИ для генерации звука
Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.
⭐️генерация голоса и музыки
⭐️замена и перевод речи
⭐️распознавание звуков
👉Подписывайтесь!
Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.
⭐️генерация голоса и музыки
⭐️замена и перевод речи
⭐️распознавание звуков
👉Подписывайтесь!
Что такое подгенератор (subgenerator)?
Подгенератор создается с помощью конструкции yield from внутри генератора.
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
Подгенератор создается с помощью конструкции yield from внутри генератора.
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.