방금 문자열 조작을 시작 하고이 질문을 찾았습니다. 나는 아마도 OP, "보통 나"와 같은 것을하려고했을 것이다. 이전 답변은 내 혼란을 해결하지 못했지만 그것에 대해 조금 생각한 후에 마침내 "알았습니다".
만큼 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