Библиотека собеса по Python | вопросы с собеседований
Открыть в Telegram
Вопросы с собеседований по Python и ответы на них. Как запустить своего ии-агента: https://clc.to/tvpmDQ По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/6587aafa Для обратной связи: @proglibrary_feeedback_bot
Больше5 992
Подписчики
-324 часа
-77 дней
-2230 день
Архив постов
Встроенные функции all и any
Функция all возвращает True, если переданный ей список пустой или все его элементы истинны.
Функция any возвращает True, если хотя бы один из элементов переданного списка истинный.
Функционал довольно простой и примитивный, но в некоторых ситуациях может уберечь от написания костылей. Вместе с циклами и другими конструкциями может помочь сократить громоздкие функции.
Улучшения в проверке типов в версии 3.10
Если вы пользуетесь проверкой типов, то будете счастливы услышать, что Python 3.10 включает много улучшений в проверке типов, среди них оператор объединения типов, синтаксис которого теперь чище.
Кроме того, это простое улучшение не ограничивается только аннотациями типа, оно может применяться с функциями isinstance() и issubclass().
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
dict.get()
dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.
Синтаксис метода get() выглядит так:
value = dict.get(key, default)
key: Ключ, по которому производится поиск в словаре.
default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.
setattr()
С помощью данной функции мы можем менять атрибуты объекта во время выполнения программы. Первым аргументом она принимает объект, вторым — имя атрибута, а третьим — значение, которое необходимо установить.
Repost from Библиотека питониста | Python, Django, Flask
🌳Решение задачи про вырубку деревьев
Обозначим расстояние между деревьями после вырубки 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)
👉Ещё четыре олимпиадных задачи с решениями ищите в нашей статье👈Библиотека Qiskit
Qiskit — это открытая библиотека для работы с квантовыми вычислениями в Python. Она предоставляет инструменты для создания, симуляции и запуска квантовых программ на реальных квантовых устройствах.
Вы можете изучить документацию Qiskit для получения более подробной информации и примеров использования.
__subclasshook__
__subclasshook__ — это метод, который можно определить в классе, чтобы влиять на процесс проверки, является ли данный класс подклассом другого класса. Этот метод обычно используется вместе с метаклассами и полезен, например, при создании абстрактных базовых классов.
Протокол __subclasshook__ предоставляет способ определить подходит ли класс для использования в качестве подкласса заданного класса. Если метод возвращает True, то класс считается подклассом. Если метод возвращает NotImplemented, то это означает, что проверка должна быть выполнена с использованием стандартных правил.
Библиотека statistics
Библиотека statistics в Python предоставляет функции для выполнения математических операций и статистического анализа числовых данных. Она входит в стандартную библиотеку Python и не требует установки.
Argcomplete
Argcomplete — это библиотека для автодополнения аргументов командной строки.
Она позволяет легко добавить автодополнение для argparse в интерактивных оболочках (например, bash, zsh).
Библиотека работает в разных оболочках (bash, zsh и др.) без изменения кода и обладает простой интеграцией — достаточно декорировать функцию argparse декоратором @argcomplete.register.
Основные возможности argcomplete:
— Автоматическое дополнение имен файлов и каталогов при вводе путей.
— Предложение вариантов для аргументов на основе возможных значений, описанных через argparse.
— Дополнение для подкоманд в приложениях с вложенной структурой команд.
NetworkX
NetworkX — это библиотека Python для анализа сложных сетей. Она предоставляет структуры данных для работы с графами (сетями) и реализует множество алгоритмов для анализа и визуализации сетевых данных.
Она может использоваться в различных областях, таких как социальные, биологические, транспортные, компьютерные сети и многих других.
Замена подстроки в строке
Пакет flashtext позволяет легко заменить подстроку в строке. Достаточно лишь указать, что на что нужно заменить, в функции add_keyword(), а затем вызвать у объекта-процессора метод replace_keywords().
docstring
docstring — это строковый литерал, который по PEP должен быть сразу после определения названия для модуля, функции, класса или метода. Создаётся с помощью трех двойных кавычек.
В Python docstring игнорируются интерпретатором и не могут быть выполнены. Однако, когда вы добавляете docstring в модуль, функцию и так далее, эта строка становится специальным атрибутом, к которому можно получить доступ через __doc__.
Класс Process
Класс Process предоставляется модулем multiprocessing и используется для создания и управления процессами. Процессы являются отдельными экземплярами выполнения программы, каждый со своим собственным пространством памяти, ресурсами и потоками выполнения. Использование процессов вместо потоков может быть полезным в ситуациях, когда требуется более высокая изоляция данных, или когда нужно использовать несколько ядер процессора для параллельной обработки.
Класс Process предоставляет простой способ создания процесса в Python. Он принимает функцию, которую нужно выполнить в новом процессе, и может быть использован для передачи данных между родительским и дочерним процессами.
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Очистка элементов в последовательности
Иногда возникает необходимость в удалении ненужных объектов последовательности. Для этого используют itertools, а именно метод compress.
Первым аргументом передаётся контейнер, к примеру список. Вторым аргументом — логические значения, соответствующие элементам в контейнере.
Если логическое значение равно True или 1, то элемент остаётся в последовательности, иначе — удаляется из нее.
PyFlux
PyFlux — это библиотека для прогнозирования временных рядов. Она предоставляет удобный интерфейс для работы с моделями временных рядов, такими как анализ авторегрессии (AR), интегрированной скользящей средней (ARIMA), авторегрессии скользящего среднего (ARMA) и др.
В этом примере создается искусственный временной ряд и на его основе модель ARMA обучается для прогнозирования следующих 10 значений этого ряда.
Функция cv2.blur()
Вы можете размыть изображение в Python с помощью функции OpenCV cv2.blur().
Выше приводится простой пример, в котором нужно размыть изображение и сохранить его.
Ознакомиться подробнее можно здесь.
Реализуйте алгоритм поиска в ширину BFS для графа.
Алгоритм поиска в ширину (BFS) используется для обхода или поиска в графе. Он начинает с выбора стартовой вершины и пошагово распространяется по всем смежным вершинам.
Шаги алгоритма:
1. Создается пустое множество visited для отслеживания посещенных вершин и очередь queue для управления порядком обхода.
2. Стартовая вершина добавляется в очередь и отмечается как посещенная.
3. Пока очередь не пуста, извлекается вершина из начала очереди (queue.popleft()).
4. Выводится значение текущей вершины и добавляются в очередь все её смежные вершины, которые еще не были посещены.
5. Шаги 3-4 повторяются до тех пор, пока очередь не опустеет.
Сложность:
Временная сложность: O(V + E), где V — количество вершин, E — количество ребер в графе.
Пространственная сложность: O(V), так как используется множество для отслеживания посещенных вершин.
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
