Интернирование строки – это метод хранения только одной копии каждой отдельной строки. В коде Python можно инициировать интернирование повторно используемых строк
Обычно, когда мы создаем строковый объект, интерпретатор Python определяет, следует ли кэшировать эту строку. Это характерное поведение интерпретатора в определенных условиях, например, при обработке идентификаторов.
Объявление строки с именем, которое начинается либо с буквы, либо с подчеркиванием и включает только или комбинации букв / подчеркиваний / чисел, заставит Python интернировать строку и создать для нее хеш.
Так как у Python есть много внутреннего кода, использующего словари, это приводит к выполнению процесса поиска идентификаторов. Поэтому интернирование строк идентификатора ускоряет весь процесс. Проще говоря, Python хранит все идентификаторы в таблице и генерирует уникальные ключи (хеш) для каждого объекта для будущих поисков. Эта оптимизация происходит во время компиляции. И это также объединяет интернирование строковых литералов, которое напоминает идентификаторы. Таким образом, это довольно полезная функция в Python, она помогает ускорить обработку большого анализа текста или аналитики.
Строки, которые читаются из файла или получены через сетевое общение, не являются частью автоматического интернирования в Python. Но всегда можно использовать функцию intern () для обработки таких строк.