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

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

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

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

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

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

👉Подписаться👈
PySnooper

PySnooper — это библиотека для Python, которая позволяет вам добавлять отладочные точки в ваш код для отслеживания значений переменных и выполнения дополнительных действий при выполнении программы. Это полезный инструмент для отладки, поскольку он позволяет вам легко исследовать, какие значения принимают переменные в определенный момент времени и какой код выполняется.

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

#для_продвинутых
Trio

Trio — это библиотека асинхронного программирования для Python, которая упрощает написание высокопроизводительных и масштабируемых приложений. Она основана на модели «async/await» и предоставляет ряд инструментов для работы с асинхронными операциями, такими как сетевые запросы, обработка файлов и I/O.
os.rename()

В Python функция os.rename() используется для переименования файла или директории в операционной системе. Она входит в модуль os.
Особая переменная __name__

Когда интерпретатор Python работает с программой, в начале он устанавливает некоторые специальные переменные. Одна из них — name.

Если скрипт запущен напрямую, то в переменную присваивается значение main, в случае импорта — название модуля.

name по умолчанию также есть у всех классов и функций.
Библиотека python-decouple

Библиотека python-decouple для Python помогает отделить конфигурационные параметры от вашего исходного кода. Это означает, что вы можете хранить секретные данные, такие как ключи API, пароли и URL-адреса базы данных, вне вашего кода, улучшая безопасность.
Зачем нужен модуль struct.Struct()?

Модуль struct позволяет преобразовывать между Python-значениями и C-структурами, представленными как объекты bytes. Компактные форматные строки описывают предполагаемые преобразования в/из Python-значений.

Синтаксис:
struct.Struct(format_string)

Аргументы:
format_string — строка формата, описывающая структуру.
Что такое bytes.hex()?

bytes.hex() — это метод, который преобразует объект bytes в шестнадцатеричную строку.

Как работает: bytes.hex() возвращает строку, состоящую из шестнадцатеричных цифр, представляющих каждый байт в объекте bytes. Шестнадцатеричные цифры идут парами, где первая цифра представляет старший полубайт, а вторая — младший полубайт.

Например, байт со значением 10 (в десятичной системе) будет представлен как «0a» в шестнадцатеричной системе.
🦾🧠🏋️Качаем мозги к лету!

Курс «Алгоритмы и структуры данных» для тех, кто хочет научиться работать с алгоритмами, подготовиться к собеседованию крупную IT-компанию и начать брать более сложные проекты.

➡️ Алгоритмы и структуры данных 35 990 ₽ 21 594

⭐️ Переходите и активируйте бесплатные вводные занятия курсаhttps://proglib.io/w/da6727d1

Вас ждут:

– 150 практических заданий и 47 видеолекций

– бессрочный доступ к обучению

– поддержка преподавателя в чате

А также очень харизматичный спикер из Яндекса 🙌🏻
🐍💪 ТОП-5 вопросов повышенной сложности на собеседовании по Python

Метаклассы, дескрипторы, модификаторы доступа — звучит сложно? В новой статье разбираем 5 вопросов, которые часто задают на собеседованиях по Python.

🔗 Читать статью
🔗 Зеркало
Что делает re.split()?

re.split() — это функция из модуля re (регулярные выражения), которая позволяет разделять строку на подстроки с использованием регулярных выражений в качестве разделителя. Функция re.split() принимает два аргумента: регулярное выражение и строку, которую вы хотите разделить.

re.split() также может использовать более сложные регулярные выражения. Например, если вы хотите разделить строку по любым пробельным символам (пробелам, табуляциям и др.),

re.split() возвращает список подстрок, полученных после разделения. Вы можете затем использовать этот список в вашем коде для дальнейшей обработки данных.
Duck typing

Duck typing — это парадигма в программировании, используемая в языках с динамической типизацией, таких как Python. Суть duck typing заключается в том, что тип объекта определяется его поведением (методами и свойствами), а не явно указанным интерфейсом или базовым классом.

В Python duck typing часто выражается фразой: «Если это выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка.»
Функция abspath()

Функция abspath() возвращает абсолютный путь к указанному пути. Абсолютный путь — это путь, который начинается с корневого каталога файловой системы.

Функция abspath() принимает в качестве аргумента путь к файлу или каталогу. Путь может быть относительным или абсолютным.

Если путь является относительным, то функция abspath() преобразует его в абсолютный, относительно текущего рабочего каталога.

Если путь является абсолютным, то функция abspath() возвращает его без изменений.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

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

👉Подписаться👈
Как скачать видео с YouTube на Python?

Есть несколько пакетов, один из них pytube — это легкая свободная от зависимостей библиотека и утилита командной строки для загрузки видео с YouTube.

Установка пакета — pip install pytube

С документацией пакета можно ознакомиться здесь.
Преобразования текста в аудио с помощью Python

Для преобразования текста в аудио на Python можно использовать библиотеку gTTS (Google Text-to-Speech).

В данном примере мы используем текст «Привет!» на русском языке, создаем объект gTTS и сохраняем аудиофайл «hello.mp3». Затем мы воспроизводим аудиофайл с помощью утилиты mpg321.
Hypothesis

Hypothesis — это библиотека Python для тестирования на основе генерации данных. Она позволяет писать тесты, которые автоматически генерируют тестовые данные для проверки вашего кода.
Паттерн проектирования «Стратегия»

«Стратегия» (Strategy) является одним из шаблонов поведения, определенных в книге «Банды четырёх» (Gang of Four, GoF). Этот паттерн относится к категории поведенческих паттернов и решает задачу определения семейства алгоритмов, инкапсуляции каждого из них и обеспечения их взаимозаменяемости. Это позволяет клиентскому коду выбирать нужный алгоритм независимо от его использования.

Основная идея паттерна «Стратегия» заключается в выделении алгоритмов в отдельные классы (стратегии) и предоставлении клиентскому коду возможности выбирать и подменять эти стратегии без изменения самого клиентского кода. Таким образом, паттерн способствует легкости поддержки, расширения и внесения изменений в систему.
Функция getweakrefcount()

Функция weakref.getweakrefcount() в Python возвращает количество слабых ссылок и прокси-объектов, связанных с данным объектом.

Синтаксис:
weakref.getweakrefcount(object)

Параметры:
object: объект, для которого нужно узнать количество слабых ссылок и прокси-объектов.

Возвращаемое значение:
Целое число, представляющее количество слабых ссылок и прокси-объектов, связанных с объектом.
Группировка смежных списков

Группировку смежных списков, разумеется, легко осуществить в цикле for, особенно, используя zip(), но это далеко не самый лучший способ.

Чтобы сделать это проще и быстрее, напишем лямбда-выражение с zip, которое сгруппирует смежные списки следующим образом.