Właśnie zaczynam manipulować strunami i znalazłem to pytanie. Prawdopodobnie próbowałem zrobić coś takiego jak OP, „zwykły ja”. Poprzednie odpowiedzi nie wyjaśniły mojego zmieszania, ale po zastanowieniu się nad tym w końcu „zrozumiałem”.
Dopóki a, b, c, d, i emają taką samą wartość, referencję one do tego samego miejsca. Pamięć została zapisana. Gdy tylko zmienna zacznie mieć różne wartości, zaczną mieć różne odniesienia. Moje doświadczenie w nauce pochodzi z tego kodu:
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
Wydruk to:
[4538504992, 4538504992, 4538504992, 4538504992, 4538504992]
hello hello hello hello hello
[6113502048, 4538504992, 4538504992, 4538504992, 5570935808]
goodbye hello hello hello hello something