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

Функция all() принимает итерируемый объект в качестве аргумента и возвращает True, если все его элементы равны True (или, по крайней мере, истинны), и False в противном случае
Каким будет результат выполнения кода выше?
Anonymous Quiz
73%
True True
12%
False True
5%
False False
10%
Error
Объяснение:

Во втором вызове функции печати print(var_one == not var_two) возникнет синтаксическая ошибка из-за порядка выполнения операций

В Python оператор not не может быть использоваться с оператором == в таком виде, как это представлено здесь

Чтобы сравнение прошло нормально, надо исправить второй print() на print(var_one == (not var_two))
Каким будет результат выполнения кода выше?
Anonymous Quiz
5%
{}
71%
{'var': 5}
7%
None
17%
Error
Объяснение:

Выполнение этого кода вызовет ошибку, так как объект класса object() не имеет атрибута var

В Python объекты класса имеют словарь атрибутов __dict__, который содержит имена атрибутов и их значения. Однако, для объекта класса object(), __dict__ является пустым, т.к этот класс не определяет никаких атрибутов
Каким будет результат выполнения кода выше?
Anonymous Quiz
24%
1 5
29%
3602879701896397 18014398509481984
11%
None
36%
Error
Объяснение:

Метод as_integer_ratio() представляет десятичную дробь в виде пары числитель-знаменатель, т.е поделив числитель на знаменатель вы получите нужное число

Почему же не подошёл вариант 1 5? Виной всему стандарт представления дробных чисел IEEE 754, который реализует float
Каким будет результат выполнения кода выше?
Anonymous Quiz
8%
([1], [1])
45%
([], [1])
9%
([1], [])
38%
Error
Объяснение:

В данном случае возникает ошибка TypeError: 'tuple' object does not support item assignment, потому что кортежи являются неизменяемыми объектами и их элементы не могут быть изменены после создания

В то же время элементы внутри кортежа, являющиеся изменяемыми объектами (например, списки), могут быть изменены
Каким будет результат выполнения кода выше?
Anonymous Quiz
42%
True
43%
False
2%
None
12%
Error
Объяснение:

В Python строки сравниваются посимвольно:

'а' > 'а'False
'б' > 'б'False
'в' > 'б'True

Так и возвращаем True, игнорируя последний символ — 'в'
Каким будет результат выполнения кода выше?
Anonymous Quiz
58%
True
23%
False
4%
None
15%
Error
Объяснение:

Когда мы пишем var is None is True, Python интерпретирует этот кусок кода как (var is None) and (None is True)

var is None проверяет, является ли переменная var равной None, и возвращает True

None is True проверяет, является ли объект None равным объекту True, что является ложным, поэтому имеем False

True and False, в свою очередь, возвращает False
Объяснение:

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

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