неизменяемыми — после того, как они будут созданы, изменить их уже не удастся. Многие строковые методы, которые модифицируют строки, например .upper() и .lower(), в действительности возвращают копии исходной строки с соответствующими изменениями.
Если действовать неосторожно, это может внести коварные ошибки в вашу программу. Попробуйте выполнить следующий фрагмент в интерактивном окне IDLE:
>>> name = "Picard"
>>> name.upper()
'PICARD'
>>> name
'Picard'
При вызове name.upper() в name ничего не изменяется. Если вы хотите сохранить результат, его необходимо присвоить переменной:
>>> name = "Picard"
>>> name = name.upper()
>>> name