文字列の操作を始めたばかりで、この質問が見つかりました。私はおそらく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