Python で変数を宣言すると、オブジェクトが参照されます。この場合、私のオブジェクトは文字列「test」です。これを「ing123」と連結すると、変数 a は文字列オブジェクト「testing123」を指すようになります。ただし、「testing123」の参照カウントは増加しません。なぜこれが起こるのですか?私は、Python は単に既存の 'testing123' 文字列オブジェクトを参照するだけだと考えていました。この場合、getrefcount が認識しない別のオブジェクトを作成しているように見えます。私の質問は....なぜこれが起こるのですか?getrefcount の 2 回目の呼び出しで 4 ではなく 5 が返されることを期待していました。
from sys import getrefcount
b = 'testing123'
print getrefcount('testing123')
a = 'test'
a += 'ing123'
print getrefcount('testing123')
print a
プリント...
4
4
testing123