Массив размещается в памяти, но каждый элемент в области неинициализирован, как неинициализированная переменная.Другими словами, элементы в массиве не имеют своих установленных значений и просто принимают значение, которое хранилось в памяти, пока вы явно не назначите им значение.Иногда это значение равно 0 или близко к нему, но нет гарантии, что было в памяти в этих местах.Вот примечание на справочной странице :
пусто, в отличие от нулей, не устанавливает значения массива на ноль и, следовательно, может быть незначительно быстрее.С другой стороны, он требует, чтобы пользователь вручную установил все значения в массиве, и должен использоваться с осторожностью.
Так что, если у вас нет определенного варианта использования, используйте zeros
иличто-то другое.Также отмечу, что обычно Python не позволяет вам просто объявить переменную без ее инициализации, поэтому такое поведение может показаться странным.