Библиотека собеса по Python | вопросы с собеседований
6.13K subscribers
599 photos
9 videos
292 links
Вопросы с собеседований по Python и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/6587aafa

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Что такое сериализация?

Сериализация — это процесс преобразования объектов в поток байтов для сохранения или передачи.
Это позволяет сохранить состояние объекта в файл или базу данных и восстановить его позже.

Основные преимущества сериализации:
— Сохранение и восстановление объектов между сессиями программы.
— Передача объектов по сети между приложениями и машинами.
— Преобразование объектов в формат хранения, независимый от платформы.
Блок else в циклах for

В Python блок else может быть представлен не только в условных конструкциях после if, но и в циклах после for и while.

В данном случае код внутри else выполняется, только если цикл не был прерван с помощью break.
🐍🆕 Змея сбросила старую кожу: что нового в Python 3.13

Версия 3.13 принесла ряд важных нововведений, нацеленных на повышение скорости выполнения кода, улучшение читаемости и новые возможности для интерактивной работы. В новой статье перечислили главные изменения, которые должен знать каждый Python-разработчик.

👉 Читать статью
👉 Зеркало
Что делать если нужно сериализовать данные, которые не поддерживаются стандартным модулем json?

Если нужно сериализовать объекты, которые по умолчанию не поддерживаются модулем json, то есть несколько вариантов:

— Реализовать методы __getattr__ и __setattr__ в классе объекта, чтобы преобразовать его в словарь, который уже можно сериализовать в JSON.

— Использовать декоратор dataclass из модуля dataclasses для автоматической генерации методов сериализации.

— Создать собственный класс-наследник json.JSONEncoder и переопределить метод default(), чтобы указать как сериализовать нестандартные объекты.

— Использовать библиотеку marshmallow для создания схем сериализации/десериализации сложных объектов в JSON.

— Преобразовать объекты в dict или list вручную перед сериализацией с помощью методов объекта или отражения (reflection).

— Использовать другой формат сериализации, например YAML или MessagePack, который может поддерживать произвольные типы.
🐍🔀 Под капотом asyncio: принципы работы и ключевые концепции

Библиотека asyncio предоставляет полный набор инструментов для организации параллельного выполнения кода в Python с использованием концепции асинхронности. Но как на самом деле работает asyncio? В новой статье разберёмся в ключевых принципах и понятиях.

🔗 Читать статью
🔗 Зеркало
Docxtpl

Docxtpl — это библиотека Python, предназначенная для генерации документов Word из шаблонов. Она позволяет легко создавать динамические документы, вставляя данные из Python в шаблон docx.
🖥️🔤 Транскрибация видео и создание субтитров с помощью Whisper, FFmpeg и Python

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

🔗 Читать руководство
🔗 Зеркало
🖥 Итоги недели в мире Python и обзоры новых инструментов

У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали новый выпуск на 📰.

Ниже — небольшая часть выпуска, а целиком читайте здесь 👈

🏛Паттерн проектирования Unit of Work

Новый видеоролик рассказывает о паттерне Unit of Work, который используется для обеспечения согласованности данных при выполнении операций с базами данных.

🎸Как использовать PostgreSQL для управления очередями задач в Django

В этом видео подробно показан процесс настройки Django, создания класса Task и написания воркера.

📨Как отправлять зашифрованные имейлы с помощью собственного SMTP-сервера

Для отправки писем из Python-приложений можно использовать сторонние API или напрямую подключаться к SMTP-серверу. Второй метод пошагово разобран в этой статье.

Вы можете подписаться на email-рассылку здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
Каким будет результат следующего выражения: -31 % 10?

Результатом выражения -31 % 10 будет 9. Это происходит потому, что для отрицательных чисел оператор % возвращает остаток от деления первого числа на второе немного другим образом. -31 % 10 = -3 — 1/10 и в ответ мы получим 10 — 1 = 9.
🐍🌳 Реализация алгоритма Укконена на 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)
Определяет поведение оператора больше или равно, >=.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями

👉Подписаться👈
Хардкорный курс по математике для тех, кто правда любит математику!

Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/adbf54d6

Что вас ждет:

– Вводный урок от CPO курса

– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск

– Практические задания для закрепления материала и ссылки на дополнительные материалы.

⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/adbf54d6
Please open Telegram to view this post
VIEW IN TELEGRAM
🌐 Scrapy VS Crawlee: сравнение фреймворков для веб-скрапинга

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

🔗 Читать статью
🔗 Зеркало

Этот материал взят из нашей субботней email-рассылки, посвященной Python. Подпишитесь, чтобы быть в числе первых, кто получит дайджест👈
⚡️Proglib запускает канал про ИИ для генерации звука

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

⭐️генерация голоса и музыки
⭐️замена и перевод речи
⭐️распознавание звуков

👉Подписывайтесь!
Что такое подгенератор (subgenerator)?

Подгенератор создается с помощью конструкции yield from внутри генератора.

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

Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.