Объяснение:
Так как ни
sum(iterable, start)
— функция sum()
принимает на вход лишь итерируемые объекты, то есть объекты, которые способны возвращать элементы по одномуТак как ни
int
, ни float
таковыми не являются, то у нас здесь ошибкаКаким будет результат выполнения кода выше?
Anonymous Quiz
45%
PlayStation5
2%
5
37%
PlayStation
16%
Error
GIL (Global Interpreter Lock) в Python — это механизм,
Anonymous Quiz
11%
позволяющий нескольким потокам одновременно выполнять код на одном процессоре
8%
позволяющий нескольким потокам одновременно выполнять код на разных процессорах
65%
ограничивающий одновременное выполнение нативного кода только одним потоком
16%
позволяющий контролировать доступ к общим ресурсам с использованием мьютексов
Объяснение:
GIL (Global Interpreter Lock) — это механизм, который не позволяет более чем одному потоку одновременно выполнять нативный код Python
Это создаёт проблемы с производительностью в многопоточных программах, так как потоки не могут выполняться параллельно на разных ядрах процессора
GIL (Global Interpreter Lock) — это механизм, который не позволяет более чем одному потоку одновременно выполнять нативный код Python
Это создаёт проблемы с производительностью в многопоточных программах, так как потоки не могут выполняться параллельно на разных ядрах процессора
Объяснение:
Функция
Функция
func()
реализует рекурсивное вычисление факториала числа n
. Факториал числа определяется как произведение всех натуральных чисел от 1
до n
включительно. Факториал 0
равен 1
по определениюКаким будет результат выполнения кода выше?
Anonymous Quiz
61%
["Python"]
15%
[0, 1, 2, 3, 4]
7%
[]
16%
Ничего из вышеперечисленного
Объяснение:
Первый шаг к пониманию того, что происходит в этом странном коде — это взглянуть на то, что нам говорит PEP 380⁴⁰ об использовании return с yield. Кратко говоря, return expr в генераторе вызывает исключение StopIteration(expr) при выходе из генератора.
В данном случае исключение StopIteration происходит при выполнении функции my_func(), когда используется оператор return. Это исключение перехватывается вызовом функции list() в конце кода.
Когда происходит исключение, значение ["Python"] не возвращается, а функция list() возвращает пустой список.
Если вы хотите получить ["Python"] из этого кода, нужно изменить вызов функции, используя next() и обернув его в обработчик исключений:
Этот код удаляет вызов list(), который автоматически перехватывает исключение StopIteration, и использует функцию next(). Функция next() не перехватывает исключение StopIteration, поэтому необходимо обернуть этот вызов конструкцией try/except, чтобы самостоятельно обработать это исключение. А для получения значения из исключения можно воспользоваться атрибутом value объекта exception.
Первый шаг к пониманию того, что происходит в этом странном коде — это взглянуть на то, что нам говорит PEP 380⁴⁰ об использовании return с yield. Кратко говоря, return expr в генераторе вызывает исключение StopIteration(expr) при выходе из генератора.
В данном случае исключение StopIteration происходит при выполнении функции my_func(), когда используется оператор return. Это исключение перехватывается вызовом функции list() в конце кода.
Когда происходит исключение, значение ["Python"] не возвращается, а функция list() возвращает пустой список.
Если вы хотите получить ["Python"] из этого кода, нужно изменить вызов функции, используя next() и обернув его в обработчик исключений:
def my_func(value):
if value == 5:
return ["Python"]
else:
yield from range(value)
try:
next(my_func(5))
except StopIteration as exception:
print(f"StopIteration пойман! {exception.value = }")
Этот код удаляет вызов list(), который автоматически перехватывает исключение StopIteration, и использует функцию next(). Функция next() не перехватывает исключение StopIteration, поэтому необходимо обернуть этот вызов конструкцией try/except, чтобы самостоятельно обработать это исключение. А для получения значения из исключения можно воспользоваться атрибутом value объекта exception.
Python Enhancement Proposals (PEPs)
PEP 380 – Syntax for Delegating to a Subgenerator | peps.python.org
A syntax is proposed for a generator to delegate part of its operations to another generator. This allows a section of code containing ‘yield’ to be factored out and placed in another generator. Additionally, the subgenerator is allowed to return with ...
Метод readlines() возвращает______
Anonymous Quiz
11%
строку
82%
список строк
5%
список отдельных символов
2%
список целых чисел
Объяснение:
Метод readlines() открывает файл и считывает все строки в виде списка, где каждая строка является элементом этого списка:
Пример:
Если файл example.txt содержит:
То результат выполнения будет:
Таким образом, метод readlines() возвращает список строк (line), где каждая строка файла является элементом этого списка.
Метод readlines() открывает файл и считывает все строки в виде списка, где каждая строка является элементом этого списка:
Пример:
with open('example.txt', 'r') as file:
lines = file.readlines()
print(lines)
Если файл example.txt содержит:
Hello
World
То результат выполнения будет:
['Hello\n', 'World\n']
Таким образом, метод readlines() возвращает список строк (line), где каждая строка файла является элементом этого списка.
Мы используем ______ для добавления данных в файл c:\scores.txt, не удаляя при этом существующее содержимое
Anonymous Quiz
68%
open("c:\\scores.txt", "a")
17%
open("c:\\scores.txt", "rw")
11%
open("c:\\scores.txt", "w")
3%
open("c:\\scores.txt", "x")
Объяснение:
Добавление новой информации в существующий файл не перезаписывая его задача распространённая
Для решения этой задачи используйте открытие файла в режиме
Добавление новой информации в существующий файл не перезаписывая его задача распространённая
Для решения этой задачи используйте открытие файла в режиме
'a'
(append), который позволяет добавлять информацию в конец файла, не перезаписывая его текущее содержимоеКаким будет результат выполнения кода выше?
Anonymous Quiz
9%
Hi {name}!
36%
NameError
30%
TypeError
25%
UnboundLocalError
Объяснение:
Когда вы запускаете код, вы получите ошибку TypeError. Если быть точнее, вы увидите что-то следующее:
Python позволяет создать две функции с одним и тем же именем. Однако Python читает функции сверху вниз, что означает, что Python заменит первую функцию на вторую. Вторая версия функции принимает аргумент, поэтому вы получаете ошибку TypeError.
Один из способов исправить этот момент — добавить аргумент в вызов функции greetings(). И всё же лучше избегать создания двух функций с одинаковыми именами.
Когда вы запускаете код, вы получите ошибку TypeError. Если быть точнее, вы увидите что-то следующее:
builtins.TypeError: greetings() missing 1 required positional argument: 'name'
Python позволяет создать две функции с одним и тем же именем. Однако Python читает функции сверху вниз, что означает, что Python заменит первую функцию на вторую. Вторая версия функции принимает аргумент, поэтому вы получаете ошибку TypeError.
Один из способов исправить этот момент — добавить аргумент в вызов функции greetings(). И всё же лучше избегать создания двух функций с одинаковыми именами.
Объяснение:
Функция
Затем в строке
Достигается это за счёт атрибута
Функция
func()
устанавливает значение атрибута ecole
равным 42
и затем возвращает саму себя (функцию func
)Затем в строке
print(func().ecole)
происходит вызов функции func()
и получение её атрибута ecoleДостигается это за счёт атрибута
__dict__