Объяснение:
slice() возвращает объект, представляющий срез/часть последовательности, которая будет следовать шаблону, указанному в аргументах. Возвращаемый объект среза представляет новый набор индексов начальной последовательности, заданных диапазоном start, stop, step, как в range(). Потому в данном случае правильный ответ [3, 12]
slice() возвращает объект, представляющий срез/часть последовательности, которая будет следовать шаблону, указанному в аргументах. Возвращаемый объект среза представляет новый набор индексов начальной последовательности, заданных диапазоном start, stop, step, как в range(). Потому в данном случае правильный ответ [3, 12]
Для чего используется функция setattr()?
Anonymous Quiz
6%
Для доступа к атрибуту объекта
6%
Для проверки наличия атрибута объекта
1%
Для удаления атрибута объекта
86%
Для установки значения атрибута объекта
Объяснение:
Функция setattr() устанавливает значение атрибута указанного объекта по его имени.
Это аналог функции getattr(). Аргументами являются объект object, строка с именем name атрибута и произвольное значение value устанавливаемого атрибута.
Имя name должно быть именем существующего атрибута или будет создан новый атрибут. Функция присвоит значение атрибуту, если объект позволяет это. Например setattr(x, 'foobar', 123), эквивалентно x.foobar = 123
Дополнительная информация
— Для возвращения атрибута используется getattr().
— Для удаления атрибута используется delattr().
— Для проверки существования атрибута используется hasattr().
Функция setattr() устанавливает значение атрибута указанного объекта по его имени.
Это аналог функции getattr(). Аргументами являются объект object, строка с именем name атрибута и произвольное значение value устанавливаемого атрибута.
Имя name должно быть именем существующего атрибута или будет создан новый атрибут. Функция присвоит значение атрибуту, если объект позволяет это. Например setattr(x, 'foobar', 123), эквивалентно x.foobar = 123
Дополнительная информация
— Для возвращения атрибута используется getattr().
— Для удаления атрибута используется delattr().
— Для проверки существования атрибута используется hasattr().
Каким будет результат выполнения кода выше?
Anonymous Quiz
55%
True
22%
False
4%
Ошибка в 1 строке
19%
Ошибка во 2 строке
Какой у вас профессиональный уровень в IT?
Anonymous Poll
45%
Ещё не работаю в IT
4%
Intern / Стажер-разработчик или т.п.
11%
Junior / Младший разработчик или т.п.
16%
Middle / «Миддл»
6%
Senior / Старший разработчик или т.п.
4%
(Team) Lead / Руководитель команды, группы и т.п. или ведущий разработчик
2%
Руководитель разработки, департамента, топ-менеджер
9%
Связан с IT, но не занимаюсь и не руковожу разработкой (дизайнер, аналитик, продакт, ...)
4%
Другое (пожалуйста, укажите в комментариях ваш вариант)
Объяснение:
Во второй строке
Чтобы вспомнить как работают сырые строки можете обратиться к нашему прошлому объяснению
Во второй строке
b = r'\'
возникает ошибка, так как в "сырой" (raw) строке r'\' обратный слеш должен сопровождаться другим символом, который мы хотели бы экранировать. Такой синтаксис неверен в Python.Чтобы вспомнить как работают сырые строки можете обратиться к нашему прошлому объяснению
Telegram
Python: задачки и вопросы
Объяснение:
Возможно, вы уже слышали, что в Python существуют специальные символы, начинающиеся с обратного слэша. Большинство из них приведены в таблице выше.
Уже поняли в чём соль? В нашей задаче, использовалась строка "\turtle", из-за \t сработала табуляция…
Возможно, вы уже слышали, что в Python существуют специальные символы, начинающиеся с обратного слэша. Большинство из них приведены в таблице выше.
Уже поняли в чём соль? В нашей задаче, использовалась строка "\turtle", из-за \t сработала табуляция…
Объяснение:
В результате мы получим False. Это происходит из-за ограниченной точности представления чисел с плавающей точкой в компьютере. Хотя может показаться, что сумма 0.1 и 0.2 должна быть равной 0.3, на самом деле в двоичном представлении эти числа являются бесконечными дробями, что ведет к небольшим ошибкам при их складывании.
Сложив 0.1 и 0.2, мы получаем число, очень близкое к 0.3, но не точно равное ему:
Как же тогда сравнивать числа с плавающей точкой в Python? Используйте функцию math.isclose() из модуля math:
Функция math.isclose позволяет учитывать небольшие неточности вычислений, которые возникают из-за особенностей представления чисел с плавающей запятой.
В результате мы получим False. Это происходит из-за ограниченной точности представления чисел с плавающей точкой в компьютере. Хотя может показаться, что сумма 0.1 и 0.2 должна быть равной 0.3, на самом деле в двоичном представлении эти числа являются бесконечными дробями, что ведет к небольшим ошибкам при их складывании.
Сложив 0.1 и 0.2, мы получаем число, очень близкое к 0.3, но не точно равное ему:
0.30000000000000004
Как же тогда сравнивать числа с плавающей точкой в Python? Используйте функцию math.isclose() из модуля math:
import math
print(math.isclose(0.1 + 0.2, 0.3))
Функция math.isclose позволяет учитывать небольшие неточности вычислений, которые возникают из-за особенностей представления чисел с плавающей запятой.
Какой тип копирования используется в коде выше?
Anonymous Quiz
56%
Поверхностное копирование
15%
Глубокое копирование
16%
Поэлементное копирование
14%
Все вышеперечисленное
Объяснение:
Когда мы создаем новую переменную ls с помощью ls = list(l1), объект ls становится новым списком, содержащим те же элементы, что и l1. Однако важно понимать, что это поверхностное копирование.
То есть, элементы внутри списка l1 (которые также сами являются списками) не копируются глубоко; вместо этого в новый список ls копируются лишь ссылки на те же самые внутренние списки.
Например, если вы измените внутренний список в ls, это изменение отразится и в l1, поскольку оба списка ссылаются на одни и те же внутренние объекты.
Когда мы создаем новую переменную ls с помощью ls = list(l1), объект ls становится новым списком, содержащим те же элементы, что и l1. Однако важно понимать, что это поверхностное копирование.
То есть, элементы внутри списка l1 (которые также сами являются списками) не копируются глубоко; вместо этого в новый список ls копируются лишь ссылки на те же самые внутренние списки.
Например, если вы измените внутренний список в ls, это изменение отразится и в l1, поскольку оба списка ссылаются на одни и те же внутренние объекты.
Каким будет результат выполнения кода выше?
Anonymous Quiz
12%
Python is amazing
35%
Pythonisamazing
51%
Syntax Error
3%
Ничего из вышеперечисленного
Объяснение:
Магия удивительной и загадочной функции print() не дает покоя? На самом деле само соединение строк не имеет никакого отношения к функции print().
Вот доказательство (пробуем в IDLE):
Как видите Python автоматически соединяет все части строки, если вы разделите её на несколько частей в одной строке кода.
Python также позволяет делать интересные вещи, например, разбивать длинные строки, используя скобки:
Вывод:
Обратите внимание, что при объединении строк Python не добавляет пробел между ними, если он не указан явно
Магия удивительной и загадочной функции print() не дает покоя? На самом деле само соединение строк не имеет никакого отношения к функции print().
Вот доказательство (пробуем в IDLE):
>>> "Python" "is" "amazing"
'Pythonisamazing'
>>> a = "Python" "is" "amazing"
>>> a
'Pythonisamazing'
Как видите Python автоматически соединяет все части строки, если вы разделите её на несколько частей в одной строке кода.
Python также позволяет делать интересные вещи, например, разбивать длинные строки, используя скобки:
a_long_string = ("Съешь ещё этих мягких французских булок,"
" да выпей же чаю")
print(a_long_string)
Вывод:
Съешь ещё этих мягких французских булок, да выпей же чаю
Обратите внимание, что при объединении строк Python не добавляет пробел между ними, если он не указан явно
Каким будет результат выполнения кода выше?
Anonymous Quiz
4%
[[5, 2], [0, 2]]
61%
[[5, 0], [0, 0]]
23%
[[5, 0], [5, 0]]
12%
[[5, 5], [5, 5]]
Объяснение:
Оператор * здесь не создает копии объекта, а копирует ссылку на объект. Это означает, что a[0] и a[1] ссылаются на один и тот же вложенный список. Поэтому изменение a[0][0] также отражается на a[1][0], поскольку они являются одним и тем же объектом в памяти. В результате, вывод будет выглядеть как [[5, 0], [5, 0]].
Оператор * здесь не создает копии объекта, а копирует ссылку на объект. Это означает, что a[0] и a[1] ссылаются на один и тот же вложенный список. Поэтому изменение a[0][0] также отражается на a[1][0], поскольку они являются одним и тем же объектом в памяти. В результате, вывод будет выглядеть как [[5, 0], [5, 0]].
Какое утверждение верно для __init__ и __new__ методов в Python?
Anonymous Quiz
85%
__init__ инициализирует объект, __new__ создает объект
4%
__init__ создает объект, __new__ инициализирует объект
8%
__init__ и __new__ используются для инициализации объектов
3%
__init__ и __new__ используются для создания объектов