1 месяц назад
💾 Битовые сдвиги и экономия памяти: трюки системных программистов в Python
Вам когда-нибудь говорили, что Python — это высокоуровневый язык, и тут не место всяким там "битовым выкрутасам"? А вот и нет. Внутри каждого "питониста" рано или поздно просыпается системщик, который хочет: И вот тут на сцену выходят битовые сдвиги и упаковка данных. Это просто способ "пошевелить" биты числа: ОперацияЧто делаетПример (n = 4)n << 1Сдвиг влево4 << 1 = 8n >> 1Сдвиг вправо4 >> 1 = 2 Почему? Потому что в двоичном: А теперь — к мясу. Примеры! Допустим, у вас есть объект с такими свойствами:...
1 год назад
Массивы в python (array) Если требуется хранить числа в последовательности, предпочтительно использовать тип array вместо list Дело в том, что список хранит не сами элементы, а ссылки на объекты python, каждый из которых также может содержать другие ссылки Массивы же содержат только собственно значения, упакованные в байты. В примере мы создаём список и массив с 10 млн случайных чисел от 1 до 1000. Для массива arr мы выбрали тип данных short (обозначение 'h'), и каждый элемент будет занимать всего 2 байта. В целом массив занял в 4 раза меньше места, чем список. Ограничением массива является факт, что он может содержать только элементы одного типа. #beginners