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
Объяснение:

Ключевое слово yield в Python используется в функциях для создания генераторов

Когда функция достигает yield, она возвращает значение и «замораживает» своё состояние

При следующем вызове функции-генератора выполнение продолжается с того места, где оно было приостановлено, позволяя функции последовательно генерировать серию значений, экономя при этом память
Какой тип данных будет у переменной a после выполнения кода a = 3/2?
Anonymous Quiz
9%
int
90%
float
1%
str
0%
bool
Объяснение:

После выполнения кода a = 3/2, переменная a будет иметь тип данных float

Это происходит потому, что операция деления / всегда возвращает результат с плавающей точкой, даже если оба числа (в данном случае 3 и 2) являются целыми числами
Каким будет результат выполнения кода выше?
Anonymous Quiz
41%
["foo", "bar", "baz", "abc"]
36%
["foo", "bar", "baz", "a", "b", "c"]
10%
["foo", "bar", "baz", ["a", "b", "c"]]
13%
Error
Объяснение:

Метод extend() добавляет элементы итерируемого объекта (в данном случае строки "abc") в конец списка a

Поскольку строки в Python являются итерируемыми и состоят из отдельных символов, extend() добавит каждый символ строки "abc" как отдельный элемент
Какая функция в Python используется для преобразования объекта в строку?
Anonymous Quiz
92%
str()
2%
stringify()
1%
convert()
4%
toString()
Объяснение:

В Python для преобразования объекта в строку обычно используется функция str()

Эта функция принимает объект в качестве аргумента и возвращает его строковое представление. Например, str(123) преобразует число 123 в строку "123"
Какой метод используется для преобразования списка в строку?
Anonymous Quiz
80%
join()
12%
concatenate()
3%
connect()
5%
merge()
Объяснение:

Для преобразования списка в строку в Python используется метод join(), применяемый к строке-разделителю

Этот метод объединяет элементы списка в одну строку, вставляя между элементами указанный разделитель. Например, ", ".join(["a", "b", "c"]) вернёт строку "a, b, c", где ", " является разделителем
Какая функция используется для глубокого копирования объекта в Python?
Anonymous Quiz
20%
copy()
68%
deepcopy()
6%
clone()
5%
duplicate()
Объяснение:

В Python для глубокого копирования объекта используется функция deepcopy() из модуля copy

Глубокое копирование создаёт новый объект и рекурсивно копирует в него все объекты, на которые ссылается исходный объект

Это означает, что изменения в копии не повлияют на исходный объект и наоборот, что отличает глубокое копирование от поверхностного (с использованием copy())
Какой из следующих вариантов является правильным способом создания словаря в Python?
Anonymous Quiz
86%
d = {1: "Apple", 2: "Banana"}
8%
d = dict(1="Apple", 2="Banana")
4%
d = dict[1="Apple", 2="Banana"]
2%
d = {1, "Apple", 2, "Banana"}
Объяснение:

Правильный способ создания словаря в Python из предложенных вариантов первый — d = {1: "Apple", 2: "Banana"}

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

Остальные варианты содержат синтаксические ошибки или создают другие типы данных, а не словарь
Объяснение:

Функция enumerate() в Python принимает итерируемый объект (например, список) и возвращает итератор, который генерирует кортежи, состоящие из индекса и соответствующего значения из итерируемого объекта

Это полезно, когда вам нужно иметь доступ к индексу элементов во время итерации по списку или другому итерируемому объекту
Каким будет результат выполнения кода выше?
Anonymous Quiz
16%
1 2 3
64%
x y z
12%
('x', 1) ('y', 2) ('z', 3)
9%
Error
Объяснение:

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

В данном случае, будут выведены ключи 'x', 'y', и 'z'. Цикл for перебирает ключи словаря d, а команда print() выводит каждый ключ, используя пробел (end=" ") в качестве разделителя вместо стандартного перевода строки

Таким образом, на экране появится строка "x y z "
Какая библиотека в Python предназначена для работы с регулярными выражениями?
Anonymous Quiz
72%
re
19%
regex
4%
string
6%
match