Python: задачки и вопросы
Open in Telegram
Вопросы и задачки для подготовки к собеседованиям и прокачки навыков Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Другие наши проекты: https://tprg.ru/media
Show more6 944
Subscribers
-324 hours
-187 days
-6530 days
Posts Archive
Объяснение:
Здесь у нас определяется класс
TempClass с атрибутом класса var, который инициализирован значением None. В Python None используется для представления отсутствия значения или нулевого состояния
Когда мы обращаемся к атрибуту класса TempClass.var, мы получаем значение этого атрибута, которое в данном случае является None
Это значение было установлено при определении класса и не изменялось, поэтому при печати print(TempClass.var) выводится NoneОбъяснение:
Когда мы используем
print(*lst, sep="1", end="3") с распакованным списком lst, который содержит элементы [1, 2, 3], каждый элемент списка печатается поочерёдно с разделителем 1 между ними
Это даёт 11213
После этого, параметр end="3" добавляет 3 в конец вывода, что делает окончательный результат 112133Объяснение:
Функция
set() в Python создает множество, которое содержит только уникальные элементы, причем порядок элементов в множестве не гарантирован и не важен
Когда мы преобразуем строки "new" и "wen" в множества, получаем множества с элементами {'n', 'e', 'w'} для обеих строк
Поскольку оба множества содержат одинаковые элементы, они считаются равными, и оператор сравнения == возвращает TrueОбъяснение:
В Python нельзя напрямую складывать переменные разных типов, в данном случае целое число (
int) и строку (str)
Переменная var_int является целым числом (2000), а var_str — строкой ("23")
Попытка выполнить операцию var_int + var_str приведет к ошибке, так как Python не знает, как сложить эти два разных типа данныхОбъяснение:
Злесь создается экземпляр класса
Empty, который сохраняется в переменной obj
В Python, экземпляры пользовательских классов по умолчанию всегда считаются истинными (то есть bool(obj) возвращает True), если только в классе не определен специальный метод, который изменяет это поведение
В списке ['new', 'old'] значение по индексу 0 - это new, соответствующее False, а значение по индексу 1 - это old, соответствующее True
Так как bool(obj) возвращает True, выбирается элемент с индексом 1, то есть oldОбъяснение:
В данном форматировании строки с помощью метода
.format(), {0:*^9} определяет формат вывода
0 указывает на индекс аргумента, который будет подставлен (1234567), * является символом, используемым для заполнения дополнительного пространства, ^ указывает на центрирование значения, а 9 определяет общую ширину поля
Поскольку число 1234567 состоит из 7 цифр и общая ширина поля установлена равной 9, с каждой стороны числа добавляется по одному символу * для достижения общей ширины в 9 символов, в результате чего получается *1234567*