Вопросы и задачки для подготовки к собеседованиям и прокачки навыков
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Другие наши проекты: https://tprg.ru/media
Post #1894
1.94K

PY @quiz_python
Showing posts older than #1895 · Back to latest

a и b содержат одинаковые значения — (1, 2, 3). Поэтому сравнение a == b вернёт True, т.к оно сравнивает содержимое кортежейis, в свою очередь, проверяет идентичность объектов, а не только их содержимое. Даже если значения элементов кортежей a и b идентичны, они всё равно указывают на разные объекты в памяти. Поэтому a is b вернёт False
[1, 2, 3] создаёт новый список в памяти. И при каждом вызове [1, 2, 3] будет создаваться новый объект списка[1, 2, 3] в коде указывают на разные объекты в памяти, даже если содержание этих объектов идентичноFalse
func() аргумент a принимает первое значение переданное в функцию, *b собирает все позиционные аргументы, идущие после a, в кортеж, а **c собирает все именованные аргументы в словарь
type({}) возвращает тип данных dict, а type({1}) — set
True связан с наследованием иерархии классов в языке Python. Всё дело в том, что bool — это подкласс класса intbool наследует некоторые методы и атрибуты от intissubclass() же, в свою очередь, возвращает True, если первый аргумент является подклассом второго аргумента и False в противном случае
bytes в Python являются неизменяемыми (immutable)bytes после его создания
set_ — это множество, а оно не индексируется. Отсюда и невозможность получить значение по индексу