Механизм интернирования объектов в Python позволяет хранить в памяти только одну копию каждого отдельного объекта. 15 Это снижает потребление памяти и ускоряет операции, основанные на сравнении объектов. 1
Например, для целых чисел Python предварительно загружает в память список чисел в диапазоне от -5 до 256. 34 Когда объявляется новая целочисленная переменная в этом диапазоне, Python просто ссылается на кэшированное целое число и не создаёт никакого нового объекта. 4
Для строк механизм интернирования работает так: когда создаются две строки с одинаковым значением, то в памяти сохраняется только одна из них, а другая указывает на тот же адрес памяти. 5
По умолчанию пользовательские объекты в Python не интернируются. 1 Однако можно реализовать свой собственный механизм интернирования, переопределив метод new класса. 1 Таким образом можно контролировать создание экземпляров объектов и повторно использовать существующие экземпляры на основе определённых критериев. 1