🐍 Python  ·  20 вопросов  ·  ~50 мин  ·  ⏱ Таймер 50:00  ·  Средний  · 

Стандартная библиотека Python

Учит находить готовое решение в collections, itertools, functools и pathlib. Задания связывают коллекции с темами «Итераторы», «Работа с функциями» и «Системные средства»: придётся читать код, искать причину сбоя и выбирать решение по его поведению. Все задания рассчитаны на CPython 3.12; отличия других реализаций или версий учитываются только там, где это прямо оговорено.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Версия: CPython 3.12. Выберите один ответ из четырёх. На 20 вопросов отведено не меньше 40 минут; код лучше читать построчно. После завершения вы увидите общий процент, четыре тематические шкалы и объяснение каждого ответа.
Вопрос 1 из 20
Из одного `Counter` вычитается другой. Какой объект останется после удаления неположительных частот?
Python
from collections import Counter
a=Counter(a=3,b=1); b=Counter(a=1,b=2)
print(a-b)
Вопрос 2 из 20
Что выведет islice?
Python
from itertools import islice
it=iter(range(10))
print(list(islice(it,2,7,2)), next(it))
Вопрос 3 из 20
`partial` заранее фиксирует один аргумент функции. Какой результат даст показанный вызов?
Python
from functools import partial
def power(base,exp): return base**exp
square=partial(power,exp=2)
print(square(5))
Вопрос 4 из 20
Как безопасно передать пользовательские аргументы внешней команде без интерпретации их системной оболочкой?
Вопрос 5 из 20
`defaultdict(int)` подсчитывает показанные ключи. Какой словарь получится?
Python
from collections import defaultdict
d=defaultdict(int)
for ch in "aba": d[ch]+=1
print(dict(d))
Вопрос 6 из 20
Разработчик ожидает от `groupby("AABABA")` две общие группы — `A` и `B`. Какая ошибка в этом предположении и какие группы реально получатся?
Вопрос 7 из 20
Когда lru_cache корректен?
Вопрос 8 из 20
Что вернёт Path.with_suffix?
Python
from pathlib import Path
p=Path("report.tar.gz")
print(p.with_suffix(".zip"))
Вопрос 9 из 20
В `deque([1, 2, 3], maxlen=3)` справа добавляют `4`. Что произойдёт в этом граничном сценарии?
Вопрос 10 из 20
Для показанного вызова `product("AB", repeat=2)` сколько кортежей получится и каков их точный порядок?
Python
from itertools import product
print(list(product("AB", repeat=2)))
Вопрос 11 из 20
В проекте обработчики должны расширяться для новых типов без разрастания цепочки `isinstance`. Какое проектное решение даёт `singledispatch`?
Вопрос 12 из 20
Почему tempfile предпочтительнее ручного имени `/tmp/test.txt`?
Вопрос 13 из 20
Что выведет NamedTuple?
Python
from typing import NamedTuple
class P(NamedTuple): x:int; y:int
p=P(1,2)
print(p.x,p[1],p)
Вопрос 14 из 20
`accumulate` последовательно складывает четыре числа. Какой список промежуточных итогов получится?
Python
from itertools import accumulate
print(list(accumulate([1,2,3,4])))
Вопрос 15 из 20
Когда `reduce` хуже обычного цикла?
Вопрос 16 из 20
Что делает shutil.copy2?
Вопрос 17 из 20
Как получить наиболее частые элементы без ручной сортировки словаря частот?
Вопрос 18 из 20
Что выведет chain?
Python
from itertools import chain
print(list(chain([1,2],[],[3])))
Вопрос 19 из 20
Функция кэшируется по аргументам. Сколько раз выполнится её тело и что будет напечатано?
Python
from functools import lru_cache

calls = 0

@lru_cache(maxsize=2)
def f(x):
    global calls
    calls += 1
    return x * 10

print(f(1), f(1), f(2), calls)
Вопрос 20 из 20
Почему `subprocess.run(..., check=True)` полезен?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу