Подтвердить что ты не робот

Когда следует использовать память?

Полное описание памяти можно найти здесь:

Создайте memoryview, который ссылается на obj. obj должен поддерживать буферный протокол. Встроенные объекты, поддерживающие буферный протокол, включают в себя bytes и bytearray.

A memoryview имеет понятие элемента, который является единицей атомной памяти, обрабатываемой исходным объектом obj. Для многих простых типов, таких как bytes и bytearray, элемент представляет собой один байт, но другие типы, такие как array.array, могут иметь более крупные элементы.

4b9b3361

Ответ 1

Memoryview по существу является обобщенной структурой массива NumPy в самом Python (без математики). Он позволяет обмениваться памятью между структурами данных (например, изображениями PIL, базами данных SQLlite, массивами NumPy и т.д.) Без предварительного копирования. Это очень важно для больших наборов данных.

С его помощью вы можете делать такие вещи, как карта памяти, в очень большой файл, нарезать кусок этого файла и делать вычисления на этом фрагменте (проще всего, если вы используете NumPy).

Ответ 2

Из документации я полагаю, что она использовалась для "доступа к внутренним данным объекта, который поддерживает протокол буфера без копирования", поэтому вы можете делать что-то с огромными кусками данных без заполнения вашей памяти. Я не знаю, хотите ли вы примеров, но я не могу придумать, к сожалению.