Python: задачки и вопросы
7.7K subscribers
1.2K photos
2 videos
1 file
99 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Выберите верные утверждения о Python-генераторах:
Anonymous Quiz
16%
a, b
14%
a, b, c
55%
a, b, d
15%
a, b, c, d
Дайджест Tproger: Node.js 20, криптовалютный торговый бот, сторонние магазины в iOS 17

Рассказали о свежем мажорном релизе Node.js, установке iPhone-приложений не из App Store в iOS 17, боте для торговли криптой и многом другом

Найти что-нибудь интересное для себя в нашей подборке можно по ссылке:

https://tproger.ru/articles/dajdzhest-tproger-3-node-js-20-bot-dlya-torgovli-kriptoj-storonnie-magaziny-v-ios17/

#новости
Объяснение:

Генераторы в Python представляют собой функции, использующие оператор yield (a), и позволяют создавать итераторы с минимальным использованием памяти (b). Генераторы можно использовать для создания бесконечных последовательностей (d)

Однако генераторы могут быть использованы не только с циклом for, но и с другими конструкциями, такими как next(), поэтому утверждение (c) неверно
Какой метод вызывается при использовании оператора in для проверки наличия элемента в пользовательском классе?
Anonymous Quiz
55%
__contains__
18%
__hasitem__
12%
__iter__
16%
__getitem__
Объяснение:

Метод __contains__ вызывается при использовании оператора in

Если этот метод не определён, Python пытается использовать метод __iter__ или __getitem__ для реализации проверки на наличие элемента.
Какое исключение будет выброшено, если попытаться изменить кортеж после его создания?
Anonymous Quiz
18%
ValueError
52%
TypeError
20%
AttributeError
10%
IndexError
Объяснение:

Кортежи в Python являются неизменяемыми и любая попытка изменить их после создания приведёт к выбросу исключения TypeError
Объяснение:

GIL (Global Interpreter Lock) — это механизм, который не позволяет более чем одному потоку одновременно выполнять нативный код Python

Это создаёт проблемы с производительностью в многопоточных программах, так как потоки не могут выполняться параллельно на разных ядрах процессора
Какая функция позволяет выполнять код в отдельном потоке?
Anonymous Quiz
70%
threading.Thread
6%
os.spawn
6%
concurrent.futures.ProcessPoolExecutor
Объяснение:

В модуле threading предоставляется класс Thread, который позволяет создавать и запускать новые потоки выполнения

Он принимает в качестве аргумента функцию, которая будет выполняться в новом потоке
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
3
3%
5
64%
8
28%
Error
Объяснение:

Здесь мы столкнулись с замыканием

Функция outer_function() принимает аргумент x, определяет внутри себя функцию inner_function(), которая использует x, а затем возвращает эту внутреннюю функцию

В результате, когда вызываем func(3), она вызывает inner_function() с аргументом y = 3 и возвращает сумму x + y, т.е 8
Каким будет результат выполнения кода выше?
Anonymous Quiz
7%
[1, 3, 5]
86%
[2, 4]
4%
[1, 2, 3, 4, 5]
3%
[]
Объяснение:

Функция filter() применяет функцию-предикат (в данном случае, лямбда-функцию) к каждому элементу итерируемого объекта и возвращает новый итератор, содержащий только те элементы, для которых предикат вернул True

В данном случае предикат проверяет, является ли элемент чётным числом (x % 2 == 0). После применения filter() к списку lst, мы получаем новый список, содержащий только чётные числа: [2, 4]
Какая функция возвращает True, если все элементы итерируемого объекта равны True?
Anonymous Quiz
78%
all()
10%
any()
5%
sum()
7%
filter()
Объяснение:

Функция all() принимает итерируемый объект в качестве аргумента и возвращает True, если все его элементы равны True (или, по крайней мере, истинны), и False в противном случае