это деталь реализации CPython, и она может не применяться к другим питонам, но да, во многих случаях в скомпилированном модуле постоянная строка будет ссылаться на тот же объект, минимизируя издержки.
В общем, даже если это не так, вам действительно не стоит об этом беспокоиться, поскольку он, вероятно, незаметно крошечный по сравнению с другими происходящими вещами.
Однако, вот небольшой интересный фрагмент кода:
>>> def somefunc(x):
... print id(x) # prints the memory address of object pointed to by x
...
>>>
>>> def test():
... somefunc("hello")
...
>>> test()
134900896
>>> test()
134900896 # Hooray, like expected, it's the same object id
>>> somefunc("h" + "ello")
134900896 # Whoa, how'd that work?
Здесь происходит то, что python поддерживает глобальный поиск строк, и во многих случаях даже при объединении двух строк вы получите один и тот же объект, если значения совпадают.
Обратите внимание, что это деталь реализации, и вы НЕ ДОЛЖНЫ полагаться на нее, так как строки из любого из: файлов, сокетов, баз данных, срезов строк, регулярных выражений или действительно любого модуля C не гарантированно имеют это свойство. Но тем не менее, это интересно.