Я тільки розпочинаю деякі маніпуляції зі рядками і знайшов це питання. Я, мабуть, намагався зробити щось на зразок ОП, "звичайний я". Попередні відповіді не прояснили моєї плутанини, але трохи подумавши, я нарешті "зрозумів".
До тих пір , як a, b, c, dі eмають таке ж значення, вони посилаються на те ж місце. Пам'ять збережена. Як тільки змінна починає мати різні значення, вони починають мати різні посилання. Мій досвід навчання походить із цього коду:
import copy
a = 'hello'
b = str(a)
c = a[:]
d = a + ''
e = copy.copy(a)
print map( id, [ a,b,c,d,e ] )
print a, b, c, d, e
e = a + 'something'
a = 'goodbye'
print map( id, [ a,b,c,d,e ] )
print a, b, c, d, e
Друкована продукція:
[4538504992, 4538504992, 4538504992, 4538504992, 4538504992]
hello hello hello hello hello
[6113502048, 4538504992, 4538504992, 4538504992, 5570935808]
goodbye hello hello hello hello something