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

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

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

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

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

В Python, метод new отвечает за создание объекта, а метод init используется для инициализации объекта после его создания

Эти два метода взаимодействуют в процессе создания объекта класса
Объяснение:

Декоратор @staticmethod в Python преобразует метод класса в статический метод, который может быть вызван без создания экземпляра класса

Статические методы не имеют доступа к атрибутам экземпляра или класса. Они могут использоваться для выполнения задач, которые не требуют доступа к состоянию объекта, но связаны с классом в целом
Каким будет результат выполнения кода выше?
Anonymous Quiz
10%
0
6%
2
78%
8
7%
9
Объяснение:

Здесь мы создаём список из чётных чисел от 0 до 8 при помощи генератора списка и условия if i % 2 == 0

Затем извлекается последний элемент из данного списка и его значение присваивается переменной res. Т.к. последний элемент списка — число 8, то и результатом выполнения этого кода будет число 8
Каким будет результат выполнения кода выше?
Anonymous Quiz
11%
[1, 4, 9]
84%
[2, 4, 6]
3%
[2, 4, 8]
1%
[2, 3, 6]
Объяснение:

func() принимает один аргумент x и возвращает его удвоенное значение

Затем эта функция применяется к каждому элементу списка [1, 2, 3] при помощи встроенной функции map. Она возвращает объект-генератор, который создаёт новый список, содержащий результаты применения функции func() к каждому элементу исходного списка

На выходе получится [2, 4, 6], т.к. func() вернёт удвоенное значение для каждого элемента данного списка
Каким будет результат выполнения кода выше?
Anonymous Quiz
11%
1 2 4 5 7 8
9%
3 4 6 7 9 10
4%
3 4 6 7 9 10
76%
1 4 6 5 7 10
Объяснение:

Здесь у нас простенький алгоритм:

— если текущее число делится на 3 без остатка, то цикл переходит к следующему шагу при помощи continue
— если текущее число не делится на 3 без остатка, то проверяется, делится ли оно на 2 без остатка. Если да — вычисляется значение выражения i + 2 и выводится на экран, если же нет, то выводится само число i
Каким будет результат выполнения кода выше?
Anonymous Quiz
31%
0
38%
1
11%
2
20%
3
Объяснение:

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

Т.к. здесь у нас лишь один обязательный аргумент (arg), то метод co_argcount вернёт значение 1. Его же и выведет программа
Каким будет результат выполнения кода выше?
Anonymous Quiz
68%
1 1 1, 1 2 1, 3 2 3
9%
1 1 1, 3 2 3, 3 2 3
6%
1 1 1, 1 2 1, 1 2 1
17%
Error
Объяснение:

Здесь мы создаём три класса: A, B и C

Классы B и C наследуют атрибут x от класса A, который изначально равен 1

Первый print() выводит 1 1 1, потому что все три класса имеют атрибут x со значением 1. Затем мы меняем атрибут x только у класса B, так что второй print() выводит уже 1 2 1

Ну и в конце мы меняем атрибут x у класса A, и теперь третий print() выводит 3 2 3