Библиотека собеса по 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
加入频道
Six

Библиотека Six — это мощная библиотека, которая предназначена для сглаживания различий между двумя версиями Python: 2 и 3. Она предоставляет утилиты для обеспечения совместимости кода, который работает на обеих версиях Python без изменений. Six состоит всего из одного файла Python, поэтому его легко скопировать в проект.

В этом примере функция dispatch_types использует константы типов из библиотеки Six для проверки типа переданного значения и вызова соответствующей функции обработки.
Хардкорный курс по математике для тех, кто правда любит математику!

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

Что вас ждет:

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

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

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

⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/adbf54d6
Please open Telegram to view this post
VIEW IN TELEGRAM
Принцип открытости/закрытости (OCP)

Принцип открытости/закрытости (OCP) — один из основополагающих принципов объектно-ориентированного программирования (ООП), сформулированный Бертраном Мейером. Он гласит: Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения.

Иными словами код должен быть легко расширяемым для добавления новых функций или поведения. Существующий код не должен меняться при добавлении новых функций.
Функция math.gcd()

Функция math.gcd() используется для вычисления наибольшего общего делителя (НОД) двух целых чисел. НОД — это наибольшее число, которое является делителем обоих чисел.

Синтаксис:
math.gcd(a, b)

Аргументы:
a: первое целое число
b: второе целое число

Возвращаемое значение:
целое число, являющееся НОД a и b
🐍 Итоги недели в мире Python и обзоры новых инструментов

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

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

🔎 Поисковик на 80 строках кода

Публикация рассказывает, как сделать базовую поисковую систему буквально на 80 строках Python-кода. Автор реализовал все основные компоненты поисковика: краулер, инвертированный индекс, ранжировщик и интерфейс.

⭐️ Полезные библиотеки

▪️Web2PDF – CLI-инструмент для конвертации веб-страниц (по URL) в PDF-файлы.
▪️Rexi – инструмент для работы с регулярными выражениями в терминале.
▪️Django HTMX Components – набор готовых компонентов, которые можно скопировать и вставить в Django-приложение.

🕹 Управление зависимостями

Туториал, который рассказывает, как начать пользоваться Poetry.

🔥 Интересные проекты

▪️«Гарри Поттер и движок Elasticsearch» — это семантическая поисковая система на основе векторной базы данных с информацией о вселенной Гарри Поттера.
▪️Чат-бот, имитирующий стиль Эминема.
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 Цепи Маркова: генерирование читабельной бессмыслицы за 20 строк на Python

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

🔗 Читать статью
🔗 Зеркало
Функция uniform()

Функция uniform() из модуля random в Python используется для генерации случайных чисел с плавающей запятой в заданном диапазоне.

Синтаксис:
random.uniform(a, b)

Аргументы:

a: (обязательный) Нижняя граница диапазона.
b: (обязательный) Верхняя граница диапазона.

Возвращаемое значение:
Случайное число с плавающей запятой, равномерно распределенное в диапазоне [a, b].
Функция groupby()

Функция groupby() из модуля itertools в Python используется для группировки элементов итератора по значению ключа. Она применяется к итератору (списку, кортежу, строке) и возвращает объект groupby, который представляет собой итератор по группам.

Синтаксис:
groupby(iterable, key=None)

Аргументы:
iterable: Итерируемый объект, который нужно сгруппировать.
key: Функция, которая извлекает ключ из каждого элемента итератора. По умолчанию используется функция lambda x: x, которая возвращает сам элемент.
Декоратор lru_cache()

Декоратор lru_cache() из модуля functools в Python используется для мемоизации функций, то есть для кэширования результатов их вычислений. Это может значительно повысить производительность кода, если функция выполняет вычисления, которые требуют много времени.

Как работает lru_cache():
Декоратор lru_cache() работает по алгоритму LRU (Least Recently Used), что означает, что он кэширует последние maxsize результатов вычислений функции.
Функция tell()

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

Возвращаемое значение: целое число, указывающее положение указателя в байтах от начала потока.
Аргументы: tell() не принимает никаких аргументов.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.

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

👉Подписаться👈
Функция reload()

Функция reload() в Python перезагружает ранее импортированный модуль. Это означает, что код модуля выполняется заново, и любые изменения в модуле становятся доступными.

Функция reload() принимает в качестве аргумента объект модуля. Этот объект должен быть ранее импортированным модулем.
Как достать самый часто встречаемый элемент списка?

Функция most_frequent возвращает элементы, появляющиеся в списке чаще остальных.
itemgetter()

itemgetter() — это функция из модуля operator, которая используется для извлечения элементов из объектов, поддерживающих индексирование (например, списки, кортежи, строки).
Обработчик ошибок в Flask

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

На картинке пример обработчика ошибки 404 (Not Found).
Функция statistics.mean()

Функция statistics.mean() в Python используется для вычисления среднего арифметического набора данных. Она находится в модуле statistics, который нужно предварительно импортировать.
Проверка существования файла

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

Напишите функцию Python, чтобы найти отличную пару чисел, произведение которых нечетно из последовательности целочисленных значений.
Принцип разделения интерфейса (ISP)

ISP (Interface Segregation Principle) — один из принципов SOLID, который гласит: «Клиенты не должны зависеть от интерфейсов, которые они не используют».

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