Объяснение:
Python поддерживает автоматическую сборку мусора (Garbage Collection) для управления памятью. Он также имеет хорошие возможности для интеграции с другими языками и технологиями.
Например с помощью:
— CPython API: Стандартный интерпретатор Python, известный как CPython, предоставляет API для написания C-расширений. Используя эту функциональность, можно писать C-код, который объединяется с Python.
Документация: Python C API
— Jython: Это реализация Python на языке Java. Jython позволяет напрямую использовать Java-классы в Python-коде и создается для исполнения на JVM (Java Virtual Machine).
Официальный сайт: jython.org
Python поддерживает автоматическую сборку мусора (Garbage Collection) для управления памятью. Он также имеет хорошие возможности для интеграции с другими языками и технологиями.
Например с помощью:
— CPython API: Стандартный интерпретатор Python, известный как CPython, предоставляет API для написания C-расширений. Используя эту функциональность, можно писать C-код, который объединяется с Python.
Документация: Python C API
— Jython: Это реализация Python на языке Java. Jython позволяет напрямую использовать Java-классы в Python-коде и создается для исполнения на JVM (Java Virtual Machine).
Официальный сайт: jython.org
Python documentation
Python/C API Reference Manual
This manual documents the API used by C and C++ programmers who want to write extension modules or embed Python. It is a companion to Extending and Embedding the Python Interpreter, which describes...
Объяснение:
Что же здесь происходит? Лучший способ узнать, попробовать поиграться с этим кодом:
Когда мы не используем звёздочку, Python интерпретирует это как попытку создать вложенный словарь. Однако, вы не можете создать словарь, который содержит другой пустой словарь, так как ключи словаря должны быть хешируемыми. В результате попытка это сделать приведёт к TypeError.
Но если вы используете звёздочку с пустым словарем, то Python "распакует" этот словарь, даже если там нечего распаковывать. В итоге мы получаем пустое множество (set).
Вот такой вот интересный трюк. Кстати, если вы знаете что-то подобное, то делитесь в комментариях. Может викторину из этого придумаем :)
Что же здесь происходит? Лучший способ узнать, попробовать поиграться с этим кодом:
print(type({{}})) # Без звёздочкиВывод:
builtins.TypeError: unhashable type: 'dict'
Когда мы не используем звёздочку, Python интерпретирует это как попытку создать вложенный словарь. Однако, вы не можете создать словарь, который содержит другой пустой словарь, так как ключи словаря должны быть хешируемыми. В результате попытка это сделать приведёт к TypeError.
Но если вы используете звёздочку с пустым словарем, то Python "распакует" этот словарь, даже если там нечего распаковывать. В итоге мы получаем пустое множество (set).
Вот такой вот интересный трюк. Кстати, если вы знаете что-то подобное, то делитесь в комментариях. Может викторину из этого придумаем :)
У вас есть строка s = "Welcome". Какая из следующих операций с этой строкой приведёт к ошибке?
Anonymous Quiz
2%
print(s[0])
4%
print(s.lower())
79%
s[1] = 'r'
15%
print(s.strip())
Объяснение:
Правильный ответ: s[1] = 'r'
Строки в Python неизменяемы, и вы не можете напрямую изменить их элементы. Все остальные варианты возвращают новые, измененные версии строки, оставляя исходную строку s без изменений.
Правильный ответ: s[1] = 'r'
Строки в Python неизменяемы, и вы не можете напрямую изменить их элементы. Все остальные варианты возвращают новые, измененные версии строки, оставляя исходную строку s без изменений.
Каким будет результат выполнения кода выше?
Anonymous Quiz
18%
{0:1, 7:0, 1:1, 8:0}
10%
{1:1, 7:2, 0:1, 8:1}
39%
{0:0, 7:0, 1:1, 8:1}
34%
KeyError
Объяснение:
Функция enumerate(range(2)) возвращает кортежи (индекс, значение) для каждого элемента в range(2), который содержит числа 0 и 1. Следовательно, цикл имеет два прохода:
Для x = (0, 0):
D[0] = 0 (индекс 0 соответствует значению 0)
D[7] = 0 (значение 0 плюс 7 соответствует индексу 0)
Для x = (1, 1):
D[1] = 1 (индекс 1 соответствует значению 1)
D[8] = 1 (значение 1 плюс 7 соответствует индексу 1)
Следовательно, результирующий словарь будет {0: 0, 7: 0, 1: 1, 8: 1}.
Функция enumerate(range(2)) возвращает кортежи (индекс, значение) для каждого элемента в range(2), который содержит числа 0 и 1. Следовательно, цикл имеет два прохода:
Для x = (0, 0):
D[0] = 0 (индекс 0 соответствует значению 0)
D[7] = 0 (значение 0 плюс 7 соответствует индексу 0)
Для x = (1, 1):
D[1] = 1 (индекс 1 соответствует значению 1)
D[8] = 1 (значение 1 плюс 7 соответствует индексу 1)
Следовательно, результирующий словарь будет {0: 0, 7: 0, 1: 1, 8: 1}.
Объяснение:
Здесь у нас происходит присваивание с использованием среза
Срез
Когда выполняется операция присваивания
Таким образом, список
Здесь у нас происходит присваивание с использованием среза
lst[:]
Срез
[:]
представляет всю последовательность элементов списка lst
. В данном случае, правая сторона присваивания ()
представляет пустой кортежКогда выполняется операция присваивания
lst[:] = ()
, это означает, что все элементы списка lst
будут заменены на элементы из пустого кортежаТаким образом, список
lst
становится пустым и его новое значение становится []
Каким будет результат выполнения кода?
Anonymous Quiz
10%
True True
65%
True False
13%
False True
13%
False False
Объяснение:
Функция bool() возвращает True, если передаваемый ей аргумент не равен нулю. Строка "False" и есть подобный ненулевой аргумент
Получается, что var_one равен True, а var_two — False
Функция bool() возвращает True, если передаваемый ей аргумент не равен нулю. Строка "False" и есть подобный ненулевой аргумент
Получается, что var_one равен True, а var_two — False
Каким будет результат выполнения кода?
Anonymous Quiz
15%
['one', 'two', three']
13%
['one', 'two', three', 'four']
61%
onefourtwofourthree
10%
Error
Объяснение:
Функция
По итогу мы выводим на печать изначальный список
Функция
join()
не меняет исходный список — она создаёт новую строку. Поэтому чтобы сохранить результат выполнения функции, его надо было присвоить переменнойПо итогу мы выводим на печать изначальный список
var
, который никак не изменилсяКаким будет результат выполнения кода?
Anonymous Quiz
4%
[10, 3, 12, 30, 77]
7%
[10, 3]
66%
[3, 12]
23%
Syntax Error