Python: задачки и вопросы
7.73K subscribers
1.19K photos
1 video
1 file
91 links
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Объяснение:

Функция list() в Python принимает итерируемый объект (такой как строка) и создает из него новый список, содержащий элементы этого итерируемого объекта. Когда мы передаем строку '123' в list(), то создаём список, содержащий каждый символ из этой строки в виде отдельного элемента.
Каким будет результат выполнения кода выше?
Anonymous Quiz
28%
0
43%
1
9%
2
20%
3
Объяснение:

Здесь у нас выводится число аргументов, принимаемых функцией func без учёта параметров по умолчанию и параметров *args и **kwargs

Т.к. здесь у нас лишь один обязательный аргумент (arg), то метод co_argcount вернёт значение 1. Его же и выведет программа
Какой словарь создан верно?
Anonymous Quiz
59%
dictOne
10%
dictTwo
13%
dictThree
18%
Никакой
Объяснение:

Здесь используется метод создания словаря с помощью литерала

При этом есть одно важное правило для словарей — ключом может выступать лишь неизменяемый тип данных. А потому здесь лишь один правильный ответ — dictOne
Каким будет результат выполнения кода выше?
Anonymous Quiz
25%
Syntax Error
11%
5 .__mul__
49%
30
14%
Ничего из вышеперечисленного
Объяснение:

Целые числа имеют магические методы, которые можно вызвать, например, метод умножения __mul__. В данном примере, multipliers["microbit"](6) эквивалентно умножению 5 на 6, потому что значением ключа "microbit" является 5.

Однако надо учитывать, что если написать число непосредственно перед точкой, Python интерпретирует это как число с плавающей точкой. Поэтому необходимо использовать пробел перед вызовом метода.

Дополнительно можете глянуть этот видос, где автор продемонстрировал работу таких магических методов, как — add, sub, mul, truediv
Каким будет результат выполнения кода выше?
Anonymous Quiz
51%
[21, 49, 15]
22%
[0, 49, 88]
13%
[49]
15%
Error
Объяснение:

Код выглядит запутанным из-за того, что изменяется список array, который использует генератор.

Ключ к пониманию этого кода:
— Цикл for использует первоначальный список array = [21, 49, 15].
— Условие if использует новый список array = [0, 49, 88].

Причина такого поведения заключается в поздней привязке (late binding) условного выражения. Это означает, что условие внутри генератора оценивается в момент обращения к элементу генератора, а не в момент его создания.

Если немного модифицировать код, можно увидеть, что происходит:
array = [21, 49, 15]
gen = ((x, print(x, array)) for x in array)
array = [0, 49, 88]

При выполнении этого кода вывод будет следующим:
21 [0, 49, 88]
49 [0, 49, 88]
15 [0, 49, 88]

Этот вывод показывает, что цикл for итерирует по исходному списку [21, 49, 15], в то время как условие if проверяет элементы уже нового списка [0, 49, 88]. Единственным числом, которое присутствует в обоих списках, является 49, поэтому условие array.count(x) > 0 истинно лишь для этого числа, и итоговый результат будет [49].
Какой из следующих операторов имеет наименьший приоритет?
Anonymous Quiz
9%
**
39%
+
23%
in
29%
and
Объяснение:

Всё так, and имеет наименьший приоритет среди всех перечисленных в задании операторов
Объяснение:

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

Добавить docstring:

def function():
"""Это функция"""


Добавить любую инструкцию, например, print:

def function():
print

Добавить pass:

def function():
pass

Использовать многоточие (...) для указания на незавершённую функцию:

def function():
...


Все эти варианты являются корректными способами создания пустой функции в Python, которая не вызовет ошибок.
Какой модуль Python поддерживает регулярные выражения?
Anonymous Quiz
79%
re
13%
regex
4%
pyregex
3%
ничего из вышеперечисленного
Объяснение:

Модуль re предоставляет операции сопоставления шаблонов регулярных выражений, аналогичные тем, которые встречаются в языке Perl. re является частью стандартной библиотеки и ее можно импортировать с помощью: import re.