В прошлом посте мы узнали, что не все строки кешируются интерпретатором в момент создания. Даже если строка короткая но содержит недопустимые символы, она не закешируется.
>>> a = '😁'
>>> b = '😁'
>>> a is b
False
Но мы можем форсированно закешировать любую строку, обойдя эти правила. Мало ли, вдруг у вас будет словарь где ключ это смайл ))). Для этого просто используйте функцию sys.intern()
>>> a = sys.intern('😁')
>>> b = sys.intern('😁')
>>> a is b
True
Теперь ваша строка добавлена в таблицу "interned" strings.
Да, это успех! Но что то нам даёт? Узнаем в следующем посте.
#tricks#libs