Объяснение:
Целые числа имеют магические методы, которые можно вызвать, например, метод умножения
Однако надо учитывать, что если написать число непосредственно перед точкой, Python интерпретирует это как число с плавающей точкой. Поэтому необходимо использовать пробел перед вызовом метода.
Дополнительно можете глянуть этот видос, где автор продемонстрировал работу таких магических методов, как —
Целые числа имеют магические методы, которые можно вызвать, например, метод умножения
__mul__
. В данном примере, multipliers["microbit"](6)
эквивалентно умножению 5
на 6
, потому что значением ключа "microbit"
является 5
.Однако надо учитывать, что если написать число непосредственно перед точкой, Python интерпретирует это как число с плавающей точкой. Поэтому необходимо использовать пробел перед вызовом метода.
Дополнительно можете глянуть этот видос, где автор продемонстрировал работу таких магических методов, как —
add, sub, mul, truediv
Каким будет результат выполнения кода выше?
Anonymous Quiz
51%
[21, 49, 15]
22%
[0, 49, 88]
13%
[49]
15%
Error
Объяснение:
Код выглядит запутанным из-за того, что изменяется список array, который использует генератор.
Ключ к пониманию этого кода:
— Цикл for использует первоначальный список array = [21, 49, 15].
— Условие if использует новый список array = [0, 49, 88].
Причина такого поведения заключается в поздней привязке (late binding) условного выражения. Это означает, что условие внутри генератора оценивается в момент обращения к элементу генератора, а не в момент его создания.
Если немного модифицировать код, можно увидеть, что происходит:
При выполнении этого кода вывод будет следующим:
Этот вывод показывает, что цикл for итерирует по исходному списку
Код выглядит запутанным из-за того, что изменяется список array, который использует генератор.
Ключ к пониманию этого кода:
— Цикл for использует первоначальный список array = [21, 49, 15].
— Условие if использует новый список array = [0, 49, 88].
Причина такого поведения заключается в поздней привязке (late binding) условного выражения. Это означает, что условие внутри генератора оценивается в момент обращения к элементу генератора, а не в момент его создания.
Если немного модифицировать код, можно увидеть, что происходит:
array = [21, 49, 15]
gen = ((x, print(x, array)) for x in array)
array = [0, 49, 88]
При выполнении этого кода вывод будет следующим:
21 [0, 49, 88]
49 [0, 49, 88]
15 [0, 49, 88]
Этот вывод показывает, что цикл for итерирует по исходному списку
[21, 49, 15]
, в то время как условие if
проверяет элементы уже нового списка [0, 49, 88]
. Единственным числом, которое присутствует в обоих списках, является 49
, поэтому условие array.count(x) > 0
истинно лишь для этого числа, и итоговый результат будет [49]
.Чем можно заменить комментарий в теле функции, чтобы использовать минимум кода и избежать ошибок?
Anonymous Quiz
23%
Заменить комментарий на docstring
25%
Заменить комментарий на троеточие
30%
1 и 2 вариант подходят
22%
Можно ничего менять, код итак отработает корректно и не вызовет ошибок
Объяснение:
Функция в текущем виде не является корректной Для того чтобы функция не вызывала ошибок, можно сделать одно из следующих действий:
Добавить docstring:
Добавить любую инструкцию, например, print:
Все эти варианты являются корректными способами создания пустой функции в Python, которая не вызовет ошибок.
Функция в текущем виде не является корректной Для того чтобы функция не вызывала ошибок, можно сделать одно из следующих действий:
Добавить docstring:
def function():
"""Это функция"""
Добавить любую инструкцию, например, print:
def function():Добавить pass:
def function():Использовать многоточие (...) для указания на незавершённую функцию:
pass
def function():
...
Все эти варианты являются корректными способами создания пустой функции в Python, которая не вызовет ошибок.
Какой модуль Python поддерживает регулярные выражения?
Anonymous Quiz
79%
re
13%
regex
4%
pyregex
3%
ничего из вышеперечисленного
Объяснение:
Модуль re предоставляет операции сопоставления шаблонов регулярных выражений, аналогичные тем, которые встречаются в языке Perl. re является частью стандартной библиотеки и ее можно импортировать с помощью: import re.
Модуль re предоставляет операции сопоставления шаблонов регулярных выражений, аналогичные тем, которые встречаются в языке Perl. re является частью стандартной библиотеки и ее можно импортировать с помощью: import re.
Каким будет результат выполнения кода выше?
Anonymous Quiz
22%
SyntaxError
9%
TypeError
12%
[1, 2, 3]
57%
[1, 2, 3, 1, 2, 3]
Объяснение:
Оператор
Метод
Важно:
Синтаксис
В комментариях можете поделиться своими вариантами написания данного кода, чтобы он был более понятным
Оператор
walrus
или как его ещё называют моржовый оператор (:=
), позволяет присвоить значение переменной внутри выражения. В данном случае, выражение внутри скобок присваивает список [1, 2, 3]
переменной x
.Метод
extend
добавляет все элементы из переданного списка в конец исходного списка. Таким образом, исходный список [1, 2, 3]
удваивается, и получается [1, 2, 3, 1, 2, 3]
Важно:
Синтаксис
(x := [1, 2, 3]).extend(x)
является допустимым, но не рекомендуемым согласно PEP 572 – Assignment Expressions, так как он может быть неинтуитивным и сложным для понимания.В комментариях можете поделиться своими вариантами написания данного кода, чтобы он был более понятным
Python Enhancement Proposals (PEPs)
PEP 572 – Assignment Expressions | peps.python.org
This is a proposal for creating a way to assign to variables within an expression using the notation NAME := expr.
Объяснение:
Здесь мы создаём список из чётных чисел от
Затем извлекается последний элемент из данного списка и его значение присваивается переменной
Здесь мы создаём список из чётных чисел от
0
до 8
при помощи генератора списка и условия if i % 2 == 0
Затем извлекается последний элемент из данного списка и его значение присваивается переменной
res
. Т.к. последний элемент списка — число 8
, то и результатом выполнения этого кода будет число 8
Что делает функция enumerate()?
Anonymous Quiz
12%
Присваивает элементам списка уникальный ключи
73%
Возвращает кортежи, состоящие из двух элементов – индекса элемента и самого элемента
3%
Объединяет два списка в один, перемешивая их элементы попарно
12%
Устанавливает значения элементов списков по заданному нами индексу
Объяснение:
Функция
Пример:
С помощью
Пример:
Код выше выведет:
Функция
enumerate()
в Python — это эффективный инструмент для циклов, создающий пары, состоящие из счётчика и элементов итерируемого объекта. Эти пары упакованы в кортежи.Пример:
for i, v in enumerate(['a', 'b', 'c']):Код выше выведет:
print(i, v)
0 a
1 b
2 c
С помощью
enumerate()
можно начинать отсчёт с любого числа, поэтому в какой то мере последний ответ тоже являлся правильным. Достаточно передать вторым аргументом нужное вам число для начала отсчёта.Пример:
for i, v in enumerate(['a', 'b', 'c'], start=1):
print(i, v)
Код выше выведет:
1 a
2 b
3 c
Каким будет результат выполнения кода выше?
Anonymous Quiz
1%
{}
9%
Syntax Error
84%
{0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e'}
5%
Ничего из вышеперечисленного