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

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

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

Для обратной связи: @proglibrary_feeedback_bot
加入频道
Замена подстроки в строке

Пакет flashtext позволяет легко заменить подстроку в строке. Достаточно лишь указать, что на что нужно заменить, в функции add_keyword(), а затем вызвать у объекта-процессора метод replace_keywords().
NetworkX

NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.

Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
Argcomplete

Argcomplete — это библиотека для автодополнения аргументов командной строки.
Она позволяет легко добавить автодополнение для argparse в интерактивных оболочках (например, bash, zsh).

Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию argparse декоратором @argcomplete.register.

Основные возможности argcomplete:
— Автоматическое дополнение имен файлов и каталогов при вводе путей.
— Предложение вариантов для аргументов на основе возможных значений, описанных через argparse.
— Дополнение для подкоманд в приложениях с вложенной структурой команд.
Библиотека statistics

Библиотека statistics в Python предоставляет функции для выполнения математических операций и статистического анализа числовых данных. Она входит в стандартную библиотеку Python и не требует установки.
__subclasshook__

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

Протокол __subclasshook__ предоставляет способ определить подходит ли класс для использования в качестве подкласса заданного класса. Если метод возвращает True, то класс считается подклассом. Если метод возвращает NotImplemented, то это означает, что проверка должна быть выполнена с использованием стандартных правил.
Библиотека Qiskit

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

Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.
🌳Решение задачи про вырубку деревьев

Обозначим расстояние между деревьями после вырубки d. Тогда существует n – d х (m – 1) – m + 1 способов вырубить деревья. Чтобы найти все варианты, нужно просуммировать способы по всем d. Кроме того, нужно учесть 2 частных случая – когда количество оставшихся после вырубки деревьев равно 0 или 1.

1️⃣ вариант:
n, m = list(map(int, input().split()))
trees = 0
if m == 0:
trees = 1
elif m == 1:
trees = n
else:
for d in range(1, n):
trees += (n - d) // (m - 1)
print(trees)

2️⃣ вариант:
n, m = map(int, input().split())
trees = 0
if m == 0:
trees = 1
elif m == 1:
trees = n
else:
for d in range(1, (n - 1) // (m - 1) + 1):
trees += n - (m - 1) * d
print(trees)


👉Ещё четыре олимпиадных задачи с решениями ищите в нашей статье👈
Please open Telegram to view this post
VIEW IN TELEGRAM
setattr()

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

dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.

Синтаксис метода get() выглядит так:

value = dict.get(key, default)

key: Ключ, по которому производится поиск в словаре.
default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

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

👉Подписаться👈
Улучшения в проверке типов в версии 3.10

Если вы пользуетесь проверкой типов, то будете счастливы услышать, что Python 3.10 включает много улучшений в проверке типов, среди них оператор объединения типов, синтаксис которого теперь чище.

Кроме того, это простое улучшение не ограничивается только аннотациями типа, оно может применяться с функциями isinstance() и issubclass().
Встроенные функции all и any

Функция all возвращает True, если переданный ей список пустой или все его элементы истинны.

Функция any возвращает True, если хотя бы один из элементов переданного списка истинный.

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

PySpark — это Python API для Apache Spark. Он позволяет выполнять обработку больших данных в реальном времени в распределенной среде с помощью Python. Он также предоставляет оболочку PySpark для интерактивного анализа данных.

PySpark сочетает в себе удобство использования и простоту Python с мощностью Apache Spark, что позволяет обрабатывать и анализировать данные любого размера для всех, кто знаком с Python. PySpark поддерживает все функции Spark, такие как Spark SQL, DataFrames, Structured Streaming, Machine Learning (MLlib) и Spark Core.

Код с картинки создаст контекст Spark, прочитает набор данных из файла CSV с именем «data.csv» и выведет его в консоль.
🐍 Создаем игру «Виселица» на Python. Часть 2. Графический интерфейс на PySimpleGUI

В первой части мы написали код для получения и обработки вводимых игроком данных, создали некоторые компоненты и текстовый пользовательский интерфейс (TUI). Во второй части реализуем логику игры «Виселица» и создадим графический интерфейс с помощью PySimpleGUI.

🔗 Читать статью
Напишите регулярное выражение, которое будет принимать идентификатор электронной почты. Используйте модуль re.

Мы используем функцию re.match() для сравнения переданного идентификатора электронной почты с регулярным выражением. Если совпадение найдено, мы возвращаем True, иначе False. Например, вызов is_valid_email('[email protected]') вернет True, а вызов is_valid_email('not_valid_email') вернет False.
🐻‍❄️ Быстрее Pandas в 10 раз: Polars — высокопроизводительная библиотека для анализа больших данных на Python

Разработанная с нуля на языке Rust библиотека Polars объединяет в себе скорость, гибкость и богатый инструментарий для анализа больших данных на Питоне, что позволяет считать её достойной заменой популярной библиотеке Pandas.

👉 Читайте о Polars подробнее в нашей статье 👈
Напишите функцию, которая будет принимать список nums, содержащий числа в диапазоне от 1 до 100, и возвращать отсортированный список чисел, которые в списке nums встречались дважды.

Примеры:

duplicate_nums([1, 2, 3, 4, 3, 5, 6])
➞ [3]

duplicate_nums([81, 72, 43, 72, 81, 99, 99, 100, 12, 54])
➞ [72, 81, 99]

duplicate_nums([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
➞ None

Примечания:
- никакое число не будет встречаться в nums трижды и более раз,
- если никакое число в nums не встречалось дважды, функция должна вернуть None.
Временные файлы

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

Функция TemporaryFile создает временный файл в системной директории и возвращает файлоподобный объект.

Созданный временный файл будет автоматически удален по закрытию файла или при выходе из контекстного менеджера, а другие процессы и приложения не смогут получить доступ к этому временному файлу.
Атрибут context

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

В коде на картинке функция g вызывает исключение ValueError. Функция f перехватывает это исключение и вызывает собственное исключение Exception.
Композиция классов

Композиция классов — это концепция, при которой один класс включает в себя объект(ы) другого класса в качестве атрибута. Это отличается от наследования, где класс наследует атрибуты и методы другого класса. Композиция обычно предпочтительна в сравнении с наследованием, так как она обеспечивает более гибкую структуру.

Композиция обычно предпочтительна, когда отношение между двумя классами является «имеет» или «включает», а не «является». Она делает код более гибким, позволяя изменять поведение объекта, не изменяя его класс напрямую.

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