Библиотека задач по Python | тесты, код, задания
6.82K subscribers
701 photos
8 videos
289 links
Задачи и тесты по Python для тренировки и обучения.

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

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

Для обратной связи: @proglibrary_feeedback_bot
加入频道
🔥 Конкурс: 30 000 ₽ за самую смешную IT-новость

Напоминаем о конкурсе «Библиотеки программиста»: напишите самую смешную версию реальной новости про технологии.

👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.

🎁 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе

🏆 Как будем оценивать:
Мы выложим новости всех участников в одном из наших телеграм-каналов. Те новости, которые наберут больше всего охвата, войдут в шорт-лист. Из шорт-листа подписчики и жюри выберут победителя.

📅 Сроки: прием новостей до 11 мая включительно

Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8

Осталась неделя — ждем ваших новостей!
В каких ситуациях возникает исключение NotImplementedError?

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

Библиотека задач по Python
🏗 7 архитектурных паттернов, которые должен знать каждый программист

Рассмотрим семь ключевых архитектурных паттернов, которые могут помочь вам выделиться среди соискателей и получить работу мечты.

https://proglib.io/sh/aMZjqlAcr3
Каким будет результат следующего выражения: -31 % 10?

Результатом выражения -31 % 10 будет 9. Это происходит потому, что для отрицательных чисел оператор % возвращает остаток от деления первого числа на второе немного другим образом. -31 % 10 = -3 — 1/10 и в ответ мы получим 10 — 1 = 9.

Библиотека задач по Python
Зачем нужен wraps?

Декоратор functools.wraps используется для того, чтобы сохранить информацию о функции-оригинале при создании декоратора.
Когда мы создаем декоратор, он заменяет оригинальную функцию на обернутую. При этом теряется информация о названии функции, docstring и другие атрибуты.

Используя wraps, мы можем сохранить эти атрибуты. Таким образом декорированная функция будет выглядеть как оригинальная для программиста.

Это полезно для отладки и понимания кода. Например, при просмотре стека вызовов будет видно оригинальное имя функции, а не имя декоратора. При использовании help() будет выведен нужный docstring.


Библиотека задач по Python
Что выведет код сверху?

👾 — False, False
👍 — True, False
🥰 — False, True
⚡️ — True, True

Библиотека задач по Python
Какой тип наследования проиллюстрирован в следующем коде на Python?
class A():
pass
class B():
pass
class C(A,B):
pass


👾 — Многоуровневое наследование
👍 — Множественное наследование
🥰 — Иерархическое наследование
⚡️ — Одноуровневое наследование

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Что из перечисленного не является типом наследования?

👾 — Двухуровневый
👍 — Многоуровневый
🥰 — Одноуровневый
⚡️ — Многоуровневый

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает хэш-таблица?

Хэш-таблица в Python реализована в виде словаря (dict). Вот как это работает:

— Хэширование ключей: Когда вы добавляете пару ключ-значение в словарь, Python сначала вычисляет хэш-код ключа с помощью встроенной функции hash(). Хэш-код — это целое число, представляющее «отпечаток» ключа.

— Разрешение коллизий: Если два разных ключа имеют одинаковый хэш-код (коллизия), Python использует механизм разрешения коллизий для размещения значений в памяти. Одним из наиболее распространенных методов разрешения коллизий является метод цепочек, когда для каждого «ячейки» хэш-таблицы выделен список, в который добавляются все значения с одинаковыми хэш-кодами.

— Поиск значения: При поиске значения по ключу Python сначала вычисляет хэш-код ключа и затем использует его для определения соответствующей «ячейки» в хэш-таблице. Затем происходит поиск значения внутри этой «ячейки» (или цепочки).


Библиотека задач по Python
Какой будет вывод следующего кода Python?

👾 — Ошибка, так как класс B наследует A, но переменная x не наследуется
👍 — 0 0
🥰 — 0 1
⚡️ — Ошибка, синтаксис вызывающего метода неверен

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM