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

Здесь список l в функции func() является изменяемым объектом и инициализируется только один раз при первом вызове функции

При последующих вызовах, если не передается другой список, используется уже существующий список l, который сохраняет свое состояние между вызовами

В первом вызове func(2) в список добавляются элементы 0 и 1. Во втором вызове func(3, [3,2,1]) используется новый список [3,2,1], к которому добавляются 0, 1, 4

В третьем вызове func(3) снова используется исходный список l, который уже содержит 0 и 1, и к нему добавляются еще 0, 1, 4
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
5
26%
10
65%
4%
Error
Объяснение:

Здесь все до смешного просто: т.к нет print() (или подобного оператора), нет и вывода кода на экран
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
1
3%
0
44%
True
49%
False
Объяснение:

Здесь lst[:] создаёт новый список, который является копией исходного списка lst

Оператор is, в свою очередь, проверяет, ссылаются ли две переменные на один и тот же объект в памяти

Поскольку lst и lst[:] ссылаются на разные объекты (несмотря на то, что их содержимое одинаково), результатом будет False
Объяснение:

Ключевое слово 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()