Библиотека собеса по Python | вопросы с собеседований
前往频道在 Telegram
Вопросы с собеседований по Python и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/6587aafa Для обратной связи: @proglibrary_feeedback_bot
显示更多5 992
订阅者
-324 小时
-77 天
-2230 天
帖子存档
Repost from Библиотека питониста | Python, Django, Flask
🤖🎙️ S.T.A.R.K. — первый фреймворк для создания голосового ассистента
В новой статье рассказываем о фреймворке S.T.A.R.K. (Speech and Text Algorithmic Recognition Kit), который поможет создать голосового ассистента. У него есть несколько преимуществ:
▪️S.T.A.R.K. работает полностью на устройстве, гарантируя сохранность ваших данных.
▪️С фреймворком можно легко определять контекст и параметры для последующих запросов, а также одновременно выполнять несколько команд.
▪️S.T.A.R.K позволяет использовать ведущие языковые модели.
🔗 Читать статью
🔗 Зеркало
Списковое включение (быстрый способ)
Списковое включение — самый эффективный способ итерации любого списка. Это итерирование однострочного списка с включением в него цикла. Посмотрите приведенный выше пример кода, чтобы понять, как это работает.
Repost from Библиотека питониста | Python, Django, Flask
🐍🤖💬 Создаём бота-автоответчика для Telegram на ChatGPT и Aiogram 3: пошаговое руководство
Не так давно в Telegram вышло большое обновление — «Telegram для бизнеса». В данный момент оно доступно для Premium-пользователей, а в будущем, вероятно, станет отдельным режимом. Одна из его интересных функций — возможность подключить к учётной записи бота для взаимодействия с клиентами в личных чатах.
В новой статье мы рассказываем, как создать такого Telegram-бота, который будет принимать личные сообщения только в нерабочее время и для ответа использовать ChatGPT от OpenAI.
🔗 Читать статью
🔗 Зеркало
Сокращение ссылок
Скорее всего, хоть раз, но вы сталкивались с сервисами по сокращению ссылок. Даже, если вы сами не создавали сокращенную ссылку, то хотя бы видели таковые в описаниях к различным роликам или на сайтах.
Создать такую ссылку можно всего за три строчки кода, при помощи использования библиотеки PyShorteners. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.
Установка библиотеки — pip install pyshorteners.
Обмен ключами и значениями словаря
Итак, насколько сложно поменять местами значения и ключи в словаре? Совсем несложно, по крайней мере, в Python.
Выше представлен действительно изящный способ манипулирования словарями.
Напишите функцию на Python, которая принимает корень бинарного дерева поиска и целое число k, и возвращает k-ый по величине элемент в этом дереве.
Условия:
Бинарное дерево поиска (BST) — это дерево, в котором каждый узел имеет не более двух детей, и для каждого узла его левое поддерево содержит только узлы с ключами, меньшими чем ключ узла, а правое поддерево — только узлы с ключами, большими чем ключ узла.
k всегда валидно и находится в пределах количества узлов в дереве.
Объяснение:
Функция kthSmallest принимает корень бинарного дерева и число k.
Вложенная функция inorder реализует обход дерева в порядке «лево-корень-право», что гарантирует получение элементов в порядке возрастания.
Рекурсивный вызов inorder собирает значения узлов в список.
Функция возвращает k-1 элемент этого списка, так как индексация в Python начинается с нуля.
Этот вопрос проверяет знания кандидата в области алгоритмов обхода дерева, рекурсии и понимания структур данных, таких как бинарные деревья поиска.
ChainMap
ChainMap — это инструмент из модуля collections, который позволяет объединить несколько словарей в один объект, доступный как единый словарь. Это удобно, когда вам нужно работать с несколькими словарями, представляющими разные области видимости или контексты, и вам нужно установить приоритеты доступа к данным.
Данные о памяти
Благодаря пакету shutil можно получить информацию о памяти на жёстком диске. Метод disk_usage возвращает количество всей, занятой и свободной памяти в байтах. В примере кода для упрощения число поделено на 10 в 9-ой степени, чтобы вывести кол-во памяти в гигабайтах, а также лишняя дробная часть после второго знака отсекается с помощью format.
Удаление дубликатов в словаре
Стратегия заключается в преобразовании списка словарей в список кортежей, где кортежи содержат элементы словаря.
Поскольку кортежи могут быть хешированы, вы можете удалить дубликаты с помощью set(используя здесь понимание множества , более старой альтернативой Python будет set(tuple(d.items()) for d in l)) и после этого заново создать словари из кортежей с помощью dict.
Более развернутый ответ можно найти здесь.
Как проверить файл .py на синтаксические ошибки, не запуская его?
Утилита py_compile, позволит проверить файл .py на наличие синтаксических ошибок без его запуска.
Вы можете использовать командную строку или терминал для проверки файла .py на наличие синтаксических ошибок, не запуская его, используя флаг -m с модулем py_compile.
Откройте командную строку или терминал. Перейдите в каталог, содержащий файл .py, который вы хотите проверить, где yourfile .py — это имя файла, который вы хотите проверить.
Что такое подгенератор (subgenerator)?
Подгенератор создается с помощью конструкции yield from внутри генератора.
Использование подгенераторов позволяет разбить генератор на несколько частей для упрощения кода и оптимизации памяти. Это полезный инструмент при работе с последовательностями.
Механизм передает значения между генераторами без сохранения всей последовательности в памяти и блокирует основной генератор до полного завершения подгенератора.
⚡️Proglib запускает канал про ИИ для генерации звука
Там мы будем рассказывать про все существующие нейросети, которые генерируют музыку и голос — с пошаговыми инструкциями, инструментами и лайфхаками.
⭐️генерация голоса и музыки
⭐️замена и перевод речи
⭐️распознавание звуков
👉Подписывайтесь!
Repost from Библиотека питониста | Python, Django, Flask
🌐 Scrapy VS Crawlee: сравнение фреймворков для веб-скрапинга
Scrapy и Crawlee — фреймворки для скрапинга. Первый — заслуженный ветеран, второй появился относительно недавно. В новой статье разбираемся, какой из инструментов лучше подойдёт для вашего проекта.
🔗 Читать статью
🔗 Зеркало
Этот материал взят из нашей субботней email-рассылки, посвященной Python. Подпишитесь, чтобы быть в числе первых, кто получит дайджест👈
Хардкорный курс по математике для тех, кто правда любит математику!
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/adbf54d6
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/adbf54d6
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на 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)
Определяет поведение оператора больше или равно, >=.
Repost from Библиотека питониста | Python, Django, Flask
🐍🌳 Реализация алгоритма Укконена на Python
Алгоритм Укконена предназначен для построения суффиксного дерева из строки. Суффиксное дерево — это компактное, сжатое древовидное представление всех суффиксов данной строки.
И хоть алгоритм выглядит просто и понятно в теории, он представляет определённые сложности для реализации. Разбираемся, как превратить его в рабочий код для построения и визуализации дерева.
🔗 Читать статью
🔗 Зеркало
Каким будет результат следующего выражения: -31 % 10?
Результатом выражения -31 % 10 будет 9. Это происходит потому, что для отрицательных чисел оператор % возвращает остаток от деления первого числа на второе немного другим образом. -31 % 10 = -3 — 1/10 и в ответ мы получим 10 — 1 = 9.
Repost from Библиотека питониста | Python, Django, Flask
🖥 Итоги недели в мире Python и обзоры новых инструментов
У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали новый выпуск на 📰.
Ниже — небольшая часть выпуска, а целиком читайте здесь 👈
🏛Паттерн проектирования Unit of Work
Новый видеоролик рассказывает о паттерне Unit of Work, который используется для обеспечения согласованности данных при выполнении операций с базами данных.
🎸Как использовать PostgreSQL для управления очередями задач в Django
В этом видео подробно показан процесс настройки Django, создания класса Task и написания воркера.
📨Как отправлять зашифрованные имейлы с помощью собственного SMTP-сервера
Для отправки писем из Python-приложений можно использовать сторонние API или напрямую подключаться к SMTP-серверу. Второй метод пошагово разобран в этой статье.
➡ Вы можете подписаться на email-рассылку здесь
Repost from Библиотека питониста | Python, Django, Flask
🖥️🔤 Транскрибация видео и создание субтитров с помощью Whisper, FFmpeg и Python
Следуя нашему пошаговому руководству, вы сможете автоматически транскрибировать аудио и добавлять субтитры к своим видео всего за несколько минут.
🔗 Читать руководство
🔗 Зеркало
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
